--- a/thermferm/panel.c Sat Aug 09 23:13:56 2014 +0200 +++ b/thermferm/panel.c Sun Aug 10 12:09:07 2014 +0200 @@ -36,9 +36,30 @@ int Key_Up = FALSE; int Key_Down = FALSE; +int previous_key = KEY_NONE; + + +/* + * Check for a key. Return last pressed key or none. + */ int keycheck(void) { + int key, retkey = KEY_NONE; + + key = keypressed(); + if ((key == KEY_NONE) && (previous_key != KEY_NONE)) { + retkey = previous_key; + } + + previous_key = key; + return retkey; +} + + + +int keypressed(void) +{ if (Key_Enter && Key_Up && Key_Down) return KEY_ALL; if (Key_Up && Key_Down)