Helmut Karlowski wrote:
Ok.
Thanks.
In keyboard_input I've added a break: if ( cfg.eiffel_support && eiffel_wheel((unsigned short)key.raw.conin.scan & 0xff)) { if( f_instat(C.KBD_dev) ) continue; else break; (last two lines). This is what I think is correct, it doesn't reflect the original code, but your first version. It avoids wheel-keys go into normal processing. Should I add this?
Hmmm... That small function begins to look like spaghetti :S I don't understand exactly when keyboard_input() is called. When there is exactly one key to read ? In that case, there should be no loop Or maybe several ones ?In that case, the loop should always be present (regardless to Eiffel), and f_instat() called after eack key processing, as exit condition.
-- Vincent Rivière