summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortmk2012-04-29 03:09:40 +0900
committertmk2012-04-29 03:09:40 +0900
commitd553289e7edfdf17dfe4fb9cf45a3b23ea2e03df (patch)
treed2f9d499f928b61fed47d29cec0d20ffbf523397
parent9dec116bc0f105fa24645e0ab936be2bff208e5d (diff)
Ignore release flag when comparing key event.
-rw-r--r--m0110.c7
-rw-r--r--m0110.h3
2 files changed, 4 insertions, 6 deletions
diff --git a/m0110.c b/m0110.c
index 68ce2d1c5..20b4860aa 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 39da4ad66..7d2ffa83a 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