From: tmk Date: Sat, 28 Apr 2012 18:09:40 +0000 (+0900) Subject: Ignore release flag when comparing key event. X-Git-Url: https://git.friedersdorff.com/?a=commitdiff_plain;h=d553289e7edfdf17dfe4fb9cf45a3b23ea2e03df;p=max%2Ftmk_keyboard.git Ignore release flag when comparing key event. --- diff --git a/m0110.c b/m0110.c index 68ce2d1c..20b4860a 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 39da4ad6..7d2ffa83 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