From: tmk <nobody@nowhere>
Date: Sat, 28 Apr 2012 18:09:40 +0000 (+0900)
Subject: Ignore release flag when comparing key event.
X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=d553289e7edfdf17dfe4fb9cf45a3b23ea2e03df;p=tmk_firmware.git

Ignore release flag when comparing key event.
---

diff --git a/m0110.c b/m0110.c
index 68ce2d1..20b4860 100644
--- a/m0110.c
+++ b/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:
diff --git a/m0110.h b/m0110.h
index 39da4ad..7d2ffa8 100644
--- a/m0110.h
+++ b/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