From: Alan Cox Date: Sun, 10 May 2015 12:30:46 +0000 (+0100) Subject: trs80: key mapping fixes X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=fbbaaa4383823776c7e850bd28b459c7e5fefc42;p=FUZIX.git trs80: key mapping fixes --- diff --git a/Kernel/platform-trs80/devtty.c b/Kernel/platform-trs80/devtty.c index 01126e33..79d75513 100644 --- a/Kernel/platform-trs80/devtty.c +++ b/Kernel/platform-trs80/devtty.c @@ -159,7 +159,7 @@ uint8_t keyboard[8][8] = { {'x', 'y', 'z', '[', '\\', ']', '^', '_' }, {'0', '1', '2', '3', '4', '5', '6', '7' }, {'8', '9', ':', ';', ',', '-', '.', '/' }, - {13, 12, 3, KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT, ' '}, + { KEY_ENTER, KEY_CLEAR, KEY_STOP, KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT, ' '}, { 0, 0, 0, 0, KEY_F1, KEY_F2, KEY_F3, 0 } }; @@ -170,7 +170,7 @@ uint8_t shiftkeyboard[8][8] = { {'X', 'Y', 'Z', '{', '|', '}', '^', '_' }, {'0', '!', '"', '#', '$', '%', '&', '\'' }, {'(', ')', '*', '+', '<', '=', '>', '?' }, - {13, 12, 3, KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT, ' '}, + { KEY_ENTER, KEY_CLEAR, KEY_STOP, KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT, ' '}, { 0, 0, 0, 0, KEY_F1, KEY_F2, KEY_F3, 0 } }; @@ -193,9 +193,7 @@ static void keydecode(void) /* The keyboard lacks some rather important symbols so remap them with control */ if (keymap[7] & 4) { /* control */ - if (c > 31 && c < 127) - c &= 31; - if (keymap[7] & 3) { + if (keymap[7] & 3) { /* shift */ if (c == '(') c = '{'; if (c == ')') @@ -209,10 +207,12 @@ static void keydecode(void) } else { if (c == '(') c = '['; - if (c == ')') + else if (c == ')') c = ']'; - if (c == '-') + else if (c == '-') c = '|'; + else if (c > 31 && c < 127) + c &= 31; } } if (capslock && c >= 'a' && c <= 'z')