Bläddra i källkod

Ignore release flag when comparing key event.

tmk 13 år sedan
förälder
incheckning
d553289e7e
2 ändrade filer med 4 tillägg och 6 borttagningar
  1. 3 4
      m0110.c
  2. 1 2
      m0110.h

+ 3 - 4
m0110.c

@@ -304,17 +304,16 @@ uint8_t m0110_recv_key(void)
         return key;
     }
     key = instant();  // Use INSTANT for better response. Should be INQUIRY ?
-    switch (key) {
+    switch (key & 0x7F) {
         case M0110_KEYPAD:
             // Pad/Arrow keys
             return (M0110_RAW2SCAN(instant()) | M0110_KEYPAD_OFFSET);
             break;
-        case M0110_SHIFT_MAKE:
-        case M0110_SHIFT_BREAK:
+        case M0110_SHIFT:
             key2 = instant();
             if (key2 == M0110_KEYPAD) {
                 key3 = instant();
-                switch (key3) {
+                switch (key3 & 0x7F) {
                     case M0110_ARROW_UP:
                     case M0110_ARROW_DOWN:
                     case M0110_ARROW_LEFT:

+ 1 - 2
m0110.h

@@ -65,8 +65,7 @@ POSSIBILITY OF SUCH DAMAGE.
 #define M0110_KEYPAD        0x79
 #define M0110_TEST_ACK      0x7D
 #define M0110_TEST_NAK      0x77
-#define M0110_SHIFT_MAKE    0x71
-#define M0110_SHIFT_BREAK   0xF1
+#define M0110_SHIFT         0x71
 #define M0110_ARROW_UP      0x1B
 #define M0110_ARROW_DOWN    0x11
 #define M0110_ARROW_LEFT    0x0D