diff --git a/src/initkbd.c b/src/initkbd.c index d323d1f..ddf68ee 100644 --- a/src/initkbd.c +++ b/src/initkbd.c @@ -165,185 +165,148 @@ u_char *SUNLispKeyMap; /* keymap for type3 */ u_char SUNLispKeyMap_for3[128] = { - - /* 0 */ -1, 61, -1, 91, -1, 97, 99, -1, - /* 8 */ 100, -1, 67, -1, 68, -1, 101, -1, - /* 16*/ 66, 104, 80, 47, -1, 73, 74, 75, - /* 24*/ -1, 92, 63, -1, -1, 33, 32, 17, - /* 32*/ 16, 1, 0, 2, 4, 53, 22, 8, - /* 40*/ 10, 59, 45, 13, -1, 81, 82, 83, - /* 48*/ -1, 14, -1, 62, -1, 34, 19, 18, - /* 56*/ 3, 48, 49, 51, 6, 23, 25, 11, - /* 64*/ 58, 29, 15, -1, 84, 85, 87, -1, - /* 72*/ 111, 89, -1, -1, 36, 21, 20, 5, - /* 80*/ 35, 50, 52, 38, 9, 26, 43, 28, - /* 88*/ 105, 44, -1, 94, 69, 70, -1, 90, - /* 96*/ -1, 46, -1, 41, 40, 24, 37, 7, - /*104*/ 39, 54, 55, 27, 42, 12, 60, 71, - /*112*/ 98, 76, 72, -1, -1, -1, -1, 56, - /*120*/ 31, 57, 93, -1, -1, -1, -1, -1, + /* 0 */ 255, 61, 255, 91, 255, 97, 99, 255, + /* 8 */ 100, 255, 67, 255, 68, 255, 101, 255, + /* 16 */ 66, 104, 80, 47, 255, 73, 74, 75, + /* 24 */ 255, 92, 63, 255, 255, 33, 32, 17, + /* 32 */ 16, 1, 0, 2, 4, 53, 22, 8, + /* 40 */ 10, 59, 45, 13, 255, 81, 82, 83, + /* 48 */ 255, 14, 255, 62, 255, 34, 19, 18, + /* 56 */ 3, 48, 49, 51, 6, 23, 25, 11, + /* 64 */ 58, 29, 15, 255, 84, 85, 87, 255, + /* 72 */ 111, 89, 255, 255, 36, 21, 20, 5, + /* 80 */ 35, 50, 52, 38, 9, 26, 43, 28, + /* 88 */ 105, 44, 255, 94, 69, 70, 255, 90, + /* 96 */ 255, 46, 255, 41, 40, 24, 37, 7, + /* 104 */ 39, 54, 55, 27, 42, 12, 60, 71, + /* 112 */ 98, 76, 72, 255, 255, 255, 255, 56, + /* 120 */ 31, 57, 93, 255, 255, 255, 255, 255 }; /* for type4 */ u_char SUNLispKeyMap_for4[128] = { - - /* 0 */ -1, 61, -1, 91, -1, 97, 99, 106, - /* 8 */ 100, 107, 67, 108, 68, 47, 101, 30, - /* 16*/ 66, 104, 80, 31, -1, 75, 110, 74, - /* 24*/ -1, 109, 63, -1, -1, 33, 32, 17, - /* 32*/ 16, 1, 0, 2, 4, 53, 22, 8, - /* 40*/ 10, 59, 45, 15, -1, 64, 65, 95, - /* 48*/ -1, 14, 13, 89, -1, 34, 19, 18, - /* 56*/ 3, 48, 49, 51, 6, 23, 25, 11, - /* 64*/ 58, 29, 13, 93, 81, 82, 83, 96, - /* 72*/ 111, 62, -1, -1, 36, 21, 20, 5, - /* 80*/ 35, 50, 52, 38, 9, 26, 43, 28, - /* 88*/ 105, 44, 76, 84, 85, 87, 98, 90, - /* 96*/ -1, 46, 73, 41, 40, 24, 37, 7, - /*104*/ 39, 54, 55, 27, 42, 12, 60, 71, - /*112*/ 94, 69, 70, -1, -1, -1, 92, 56, - /*120*/ 86, 57, 88, -1, 103, 102, -1, -1, + /* 0 */ 255, 61, 255, 91, 255, 97, 99, 106, + /* 8 */ 100, 107, 67, 108, 68, 47, 101, 30, + /* 16 */ 66, 104, 80, 31, 255, 75, 110, 74, + /* 24 */ 255, 109, 63, 255, 255, 33, 32, 17, + /* 32 */ 16, 1, 0, 2, 4, 53, 22, 8, + /* 40 */ 10, 59, 45, 15, 255, 64, 65, 95, + /* 48 */ 255, 14, 13, 89, 255, 34, 19, 18, + /* 56 */ 3, 48, 49, 51, 6, 23, 25, 11, + /* 64 */ 58, 29, 13, 93, 81, 82, 83, 96, + /* 72 */ 111, 62, 255, 255, 36, 21, 20, 5, + /* 80 */ 35, 50, 52, 38, 9, 26, 43, 28, + /* 88 */ 105, 44, 76, 84, 85, 87, 98, 90, + /* 96 */ 255, 46, 73, 41, 40, 24, 37, 7, + /* 104 */ 39, 54, 55, 27, 42, 12, 60, 71, + /* 112 */ 94, 69, 70, 255, 255, 255, 92, 56, + /* 120 */ 86, 57, 88, 255, 103, 102, 255, 255 }; /* for jle */ u_char SUNLispKeyMap_jle[128] = { - - /* 0 */ -1, 61, -1, 91, -1, 97, 99, 106, - /* 8 */ 100, 107, 67, 108, 68, 47, 101, 71, - /* 16*/ 66, 104, 80, 31, -1, 75, 110, 74, - /* 24*/ -1, 109, 63, -1, -1, 33, 32, 17, - /* 32*/ 16, 1, 0, 2, 4, 53, 22, 8, - /* 40*/ 59, 45, 30, 15, -1, 64, 65, 95, - /* 48*/ -1, 14, 13, 89, -1, 34, 19, 18, - /* 56*/ 3, 48, 49, 51, 6, 23, 25, 11, - /* 64*/ 58, 29, 13, 93, 81, 82, 83, 96, - /* 72*/ 111, 62, -1, -1, 36, 21, 20, 5, - /* 80*/ 35, 50, 52, 38, 9, 26, 43, 28, - /* 88*/ 105, 44, 76, 84, 85, 87, 98, 90, - /* 96*/ -1, 46, 73, 41, 40, 24, 37, 7, - /*104*/ 39, 54, 55, 27, 42, 12, 60, 10, - /*112*/ 94, 69, 70, 72, 103, 109, 92, 56, - /*120*/ 86, 57, 88, -1, -1, 102, -1, -1, + /* 0 */ 255, 61, 255, 91, 255, 97, 99, 106, + /* 8 */ 100, 107, 67, 108, 68, 47, 101, 71, + /* 16 */ 66, 104, 80, 31, 255, 75, 110, 74, + /* 24 */ 255, 109, 63, 255, 255, 33, 32, 17, + /* 32 */ 16, 1, 0, 2, 4, 53, 22, 8, + /* 40 */ 59, 45, 30, 15, 255, 64, 65, 95, + /* 48 */ 255, 14, 13, 89, 255, 34, 19, 18, + /* 56 */ 3, 48, 49, 51, 6, 23, 25, 11, + /* 64 */ 58, 29, 13, 93, 81, 82, 83, 96, + /* 72 */ 111, 62, 255, 255, 36, 21, 20, 5, + /* 80 */ 35, 50, 52, 38, 9, 26, 43, 28, + /* 88 */ 105, 44, 76, 84, 85, 87, 98, 90, + /* 96 */ 255, 46, 73, 41, 40, 24, 37, 7, + /* 104 */ 39, 54, 55, 27, 42, 12, 60, 10, + /* 112 */ 94, 69, 70, 72, 103, 109, 92, 56, + /* 120 */ 86, 57, 88, 255, 255, 102, 255, 255 }; -/* [40] 10->59 */ -/* [41] 59->45 */ -/* [42] 45->30 */ -/* [111] 71->10 */ -/* [115] -1 -> 72 Kakutei */ -/* [116] -1 -> 103 Henkan */ -/* [117] -1 -> 109 Nihongo On-Off */ +/* [40] 10 -> 59 */ +/* [41] 59 -> 45 */ +/* [42] 45 -> 30 */ +/* [111] 71 -> 10 */ +/* [115] 255 -> 72 Kakutei */ +/* [116] 255 -> 103 Henkan */ +/* [117] 255 -> 109 Nihongo On-Off */ /* For IBM Risc System 6000 */ u_char SUNLispKeyMap_RS6000[128] = { - - /* 7 */ -1, -1, 45, 32, 17, 16, 1, 0, - /* 15*/ 2, 4, 53, 22, 8, 10, 59, -1, - /* 23*/ 15, 34, 19, 18, 3, 48, 49, 51, - /* 31*/ 6, 23, 25, 11, 58, 29, 105, 56, - /* 39*/ 21, 20, 5, 35, 50, 52, 38, 9, - /* 47*/ 26, 43, 28, -1, 44, 41, -1, 40, - /* 55*/ 24, 37, 7, 39, 54, 55, 27, 42, - /* 63*/ 12, -1, 60, 36, -1, 31, 57, 93, - /* 71*/ -1, 47, -1, -1, -1, -1, -1, -1, - /* 79*/ -1, -1, -1, -1, 89, 46, -1, -1, - /* 87*/ 129, 62, 90, -1, 130, 131, 63, 91, - /* 95*/ -1, -1, 132, 73, 81, 84, 94, -1, - /*103*/ 65, 82, 85, 69, 98, 95, 83, 87, - /*111*/ 70, 13, 96, 102, -1, 128, -1, 33, - /*119*/ -1, 97, 99, 100, 67, 68, 101, 66, - /*127*/ 104, 80, 106, 107, 92, 76, 14, 61, - /*136*/ + /* 7 */ 255, 255, 45, 32, 17, 16, 1, 0, + /* 15 */ 2, 4, 53, 22, 8, 10, 59, 255, + /* 23 */ 15, 34, 19, 18, 3, 48, 49, 51, + /* 31 */ 6, 23, 25, 11, 58, 29, 105, 56, + /* 39 */ 21, 20, 5, 35, 50, 52, 38, 9, + /* 47 */ 26, 43, 28, 255, 44, 41, 255, 40, + /* 55 */ 24, 37, 7, 39, 54, 55, 27, 42, + /* 63 */ 12, 255, 60, 36, 255, 31, 57, 93, + /* 71 */ 255, 47, 255, 255, 255, 255, 255, 255, + /* 79 */ 255, 255, 255, 255, 89, 46, 255, 255, + /* 87 */ 129, 62, 90, 255, 130, 131, 63, 91, + /* 95 */ 255, 255, 132, 73, 81, 84, 94, 255, + /* 103 */ 65, 82, 85, 69, 98, 95, 83, 87, + /* 111 */ 70, 13, 96, 102, 255, 128, 255, 33, + /* 119 */ 255, 97, 99, 100, 67, 68, 101, 66, + /* 127 */ 104, 80, 106, 107, 92, 76, 14, 61 }; /* For DECStation 3100 */ u_char SUNLispKeyMap_DEC3100[256] = { - - /* 7*/ -1, -1, -1, -1, -1, - -1, -1, -1, - /* 15*/ -1, -1, -1, -1, -1, - -1, -1, -1, - /* 23*/ -1, -1, -1, -1, -1, - -1, -1, -1, - /* 31*/ -1, -1, -1, -1, -1, - -1, -1, -1, - /* 39*/ -1, -1, -1, -1, -1, - -1, -1, -1, - /* 47*/ -1, -1, -1, -1, -1, - -1, -1, -1, - /* 55*/ -1, -1, -1, -1, -1, - -1, -1, -1, - /* 63*/ -1, -1, -1, -1, -1, - -1, -1, -1, - /* 71*/ -1, -1, -1, -1, -1, - -1, -1, -1, - /* 79*/ -1, -1, -1, -1, -1, - -1, -1, 97, - /* 87*/ 99, 100, 67, 68, -1, - -1, -1, -1, - /* 95*/ -1, -1, -1, -1, -1, - 101, 66, 104, - /*103*/ 80, 106, -1, -1, -1, - -1, -1, -1, - /*111*/ -1, -1, 107, 108, -1, - -1, -1, -1, - /*119*/ -1, -1, -1, -1, -1, - 92, 76, -1, - /*127*/ -1, -1, -1, -1, -1, - -1, -1, -1, - /*135*/ -1, -1, -1, 90, 91, - 46, 93, 89, - /*143*/ 47, -1, -1, 98, -1, - 13, 76, 94, - /*151*/ 69, 70, 84, 85, 87, - 102, 81, 82, - /*159*/ 83, -1, -1, -1, -1, - -1, -1, -1, - /*167*/ 129, 132, 131, 130, -1, - -1, -1, 41, - /*175*/ 36, 56, 31, -1, -1, - -1, -1, -1, - /*183*/ -1, -1, -1, -1, -1, - 15, 44, 34, - /*191*/ 33, 32, 19, 21, 40, - -1, 17, 18, - /*199*/ 20, 24, 45, -1, 16, - 3, 5, 37, - /*207*/ -1, 1, 48, 35, 7, - 57, -1, 0, - /*215*/ 49, 50, 39, -1, 2, - 51, 52, 54, - /*223*/ -1, 4, 6, 38, 55, - -1, 53, 23, - /*231*/ 9, 27, -1, 22, 25, - 26, 42, -1, - /*239*/ 8, 11, -1, 43, 12, - -1, 59, 29, - /*247*/ 105, -1, 10, 58, 28, - -1, -1, -1 - + /* 7 */ 255, 255, 255, 255, 255, 255, 255, 255, + /* 15 */ 255, 255, 255, 255, 255, 255, 255, 255, + /* 23 */ 255, 255, 255, 255, 255, 255, 255, 255, + /* 31 */ 255, 255, 255, 255, 255, 255, 255, 255, + /* 39 */ 255, 255, 255, 255, 255, 255, 255, 255, + /* 47 */ 255, 255, 255, 255, 255, 255, 255, 255, + /* 55 */ 255, 255, 255, 255, 255, 255, 255, 255, + /* 63 */ 255, 255, 255, 255, 255, 255, 255, 255, + /* 71 */ 255, 255, 255, 255, 255, 255, 255, 255, + /* 79 */ 255, 255, 255, 255, 255, 255, 255, 97, + /* 87 */ 99, 100, 67, 68, 255, 255, 255, 255, + /* 95 */ 255, 255, 255, 255, 255, 101, 66, 104, + /* 103 */ 80, 106, 255, 255, 255, 255, 255, 255, + /* 111 */ 255, 255, 107, 108, 255, 255, 255, 255, + /* 119 */ 255, 255, 255, 255, 255, 92, 76, 255, + /* 127 */ 255, 255, 255, 255, 255, 255, 255, 255, + /* 135 */ 255, 255, 255, 90, 91, 46, 93, 89, + /* 143 */ 47, 255, 255, 98, 255, 13, 76, 94, + /* 151 */ 69, 70, 84, 85, 87, 102, 81, 82, + /* 159 */ 83, 255, 255, 255, 255, 255, 255, 255, + /* 167 */ 129, 132, 131, 130, 255, 255, 255, 41, + /* 175 */ 36, 56, 31, 255, 255, 255, 255, 255, + /* 183 */ 255, 255, 255, 255, 255, 15, 44, 34, + /* 191 */ 33, 32, 19, 21, 40, 255, 17, 18, + /* 199 */ 20, 24, 45, 255, 16, 3, 5, 37, + /* 207 */ 255, 1, 48, 35, 7, 57, 255, 0, + /* 215 */ 49, 50, 39, 255, 2, 51, 52, 54, + /* 223 */ 255, 4, 6, 38, 55, 255, 53, 23, + /* 231 */ 9, 27, 255, 22, 25, 26, 42, 255, + /* 239 */ 8, 11, 255, 43, 12, 255, 59, 29, + /* 247 */ 105, 255, 10, 58, 28, 255, 255, 255, }; u_char SUNLispKeyMap_HP9000[135] = { - /* 7*/ -1, -1, -1, 93, 31, 60, 41, 36, - /* 15*/ -1, -1, -1, -1, -1, -1, -1, -1, - /* 23*/ -1, -1, -1, -1, -1, -1, -1, -1, - /* 31*/ -1, 39, 7, 37, 24, 40, -1, -1, - /* 39*/ -1, -1, -1, -1, -1, -1, -1, -1, - /* 47*/ -1, 52, 50, 35, 5, 20, 21, -1, - /* 55*/ 56, 6, 51, 49, 48, 3, 18, 19, - /* 63*/ 34, 4, 2, 0, 1, 16, 17, 32, - /* 71*/ 45, -1, -1, -1, -1, -1, -1, -1, - /* 79*/ -1, 68, 67, 100, 99, 97, -1, -1, - /* 87*/ -1, 68, 101, 66, 104, 80, 13, -1, - /* 95*/ -1, 53, 22, 8, 10, 59, 15, -1, - /* 103*/ -1, 23, 25, 11, 58, 29, 105, -1, - /* 111*/ -1, 38, 9, 26, 43, 28, 44, -1, - /* 119*/ -1, 55, 27, 42, 12, -1, -1, -1, - /* 127*/ 47, 54, 57, -1, -1, -1, -1, -1}; + /* 7 */ 255, 255, 255, 93, 31, 60, 41, 36, + /* 15 */ 255, 255, 255, 255, 255, 255, 255, 255, + /* 23 */ 255, 255, 255, 255, 255, 255, 255, 255, + /* 31 */ 255, 39, 7, 37, 24, 40, 255, 255, + /* 39 */ 255, 255, 255, 255, 255, 255, 255, 255, + /* 47 */ 255, 52, 50, 35, 5, 20, 21, 255, + /* 55 */ 56, 6, 51, 49, 48, 3, 18, 19, + /* 63 */ 34, 4, 2, 0, 1, 16, 17, 32, + /* 71 */ 45, 255, 255, 255, 255, 255, 255, 255, + /* 79 */ 255, 68, 67, 100, 99, 97, 255, 255, + /* 87 */ 255, 68, 101, 66, 104, 80, 13, 255, + /* 95 */ 255, 53, 22, 8, 10, 59, 15, 255, + /* 103 */ 255, 23, 25, 11, 58, 29, 105, 255, + /* 111 */ 255, 38, 9, 26, 43, 28, 44, 255, + /* 119 */ 255, 55, 27, 42, 12, 255, 255, 255, + /* 127 */ 47, 54, 57, 255, 255, 255, 255, 255, +}; u_char *XGenericKeyMap; /* filled in with malloc if needed */ diff --git a/src/keyevent.c b/src/keyevent.c index 2e48d50..c3e4146 100644 --- a/src/keyevent.c +++ b/src/keyevent.c @@ -465,7 +465,7 @@ int kb_event(struct inputevent *event); break; default: /* keystroke */ - if ((kn = SUNLispKeyMap[((unsigned short)event->ie_code)]) > -1) + if ((kn = SUNLispKeyMap[((unsigned short)event->ie_code)]) < 255) kb_trans(kn, upflg); else printf("kb_event: unknown key number=%d\n", event->ie_code);