mirror of
https://github.com/Interlisp/maiko.git
synced 2026-01-21 01:57:49 +00:00
Replace -1 initializers in unsigned char keyboard map with 255 and correct code that checks > -1 (Ref issue #27)
modified: src/initkbd.c modified: src/keyevent.c
This commit is contained in:
parent
0ad69fc6fe
commit
966adb6004
275
src/initkbd.c
275
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 */
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user