thermferm/panel.c

changeset 204
9a14d6b2de7f
parent 200
a215ddaabbe2
child 205
ca18ff45deba
--- 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)

mercurial