ncurses non-blocking getch dupláz

 ( zamek | 2011. augusztus 8., hétfő - 20:45 )

hello,

Ncurses-t használva non-blocking getch-ra van szükségem. Működik is rendesen, de következetesen dupláz, vagyis minden billentyű leütésre két azonos karakter érkezik. Workaround-dal biztos ki lehet küszöbölni, de jó lenne, ha normálisan működne.

Így használom:

init:

    dsp_params.window = initscr(); // curses call to initialize window
    cbreak(); // curses call to set no waiting for Enter key
    noecho(); // curses call to set no echoing
    nodelay(dsp_params.window, TRUE);
    keypad(dsp_params.window, TRUE);
    getmaxyx(dsp_params.window,dsp_params.max_row,dsp_params.max_col); // curses call to find size of window
    clear(); // curses call to clear screen, send cursor to position (0,0)
    refresh(); // curses call to implement all changes since last refresh

olvasás:

    char res = getch();

Valaki már megküzdött ezzel a problémával?

köszönöm...

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Sztem linkeld be az erintett forrast, mert ezekben igy elso korben nem sok hiba van.

A masik tipp (ezert utalni fogsz): csinalj egy egyszerusitett modellt. Egy ures kepernyo, egy non-blocking getch. Mi tortenik?
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal

Fordítható, futtatható forráskód jobb lenne. Töröld ki az összes "felesleget" a forrásodból, csak annyi maradjon, amennyin látszik a hiba.

A curses mindenképp kell, vagy csak a getch miatt használnád?