Keymap information
 $NetBSD: keymap.txt,v 1.2 1999/11/19 05:47:28 jun Exp $


From: x-y-z@3si.co.jp
Message-Id: <19991118001148I.x@3si.co.jp>

MobilePro 770 MC-R520A

static char keytrans[] = {
        57,  27,  43,  53, 203, 208,  28,  38,  /* space ] \ / - - enter l */
        -1,  26,  40,  39, 205, 200,  52,  24,  /* - [ ' ; - - . o */
        -1,  -1,  -1, 221,  47,  46,  45,  44,  /* - - - Windows v c x z */
        -1,  13,  12,  41,  33,  32,  31,  30,  /* - = \- ` f d s a */
         9,   8,   7,   6,  19,  18,  17,  16,  /* 8 7 6 5 r e w q */
        51,  50,  49,  48,  -1,  -1,  11,  10,  /* , m n b - - 0 9 */
        37,  36,  35,  34,   5,   4,   3,   2,  /* k j h g 4 3 2 1 */
        23,  22,  21,  20,  -1,  58,  14,   1,  /* i u y t - caps del esc
        184, -1,  -1,  -1,  14,  25,  15,  -1,  /* alt_R - - - BS p TAB Fn */
        -1,  56,  -1,  -1,  88,  87,  68,  67,  /* - alt_L - - f12 f11 f10 f9 */
        -1,  -1,  29,  -1,  66,  65,  64,  63,  /* - - ctrl - f8 f7 f6 f5 */
        -1,  -1,  -1,  42,  62,  61,  60,  59,  /* - - - shift f4 f3 f2 f1 */
};

X-ML-Count: 00536 (Sat Jul 17 17:46:34 JST 1999)
X-ML-Name: pbsd-mg2
Message-Id: <199907170846.CAA59356@harmony.village.org>
Subject: [pbsd-mg2] Vadem CLIO
From: Warner Losh <imp@village.org>

Index: vrkiu.c
===================================================================
RCS file: /cvs/jproot//hpcmips/sys/arch/hpcmips/vr/vrkiu.c,v
retrieving revision 1.3
diff -u -r1.3 vrkiu.c
--- vrkiu.c	1999/07/04 14:08:17	1.3
+++ vrkiu.c	1999/07/17 08:26:47
@@ -52,6 +52,7 @@
 
 /* XXX: This tranlation table may depend on each machine.
         Should I build it in? */
+#ifdef STANDARD
 static char keytrans[] = {
 	-1,  28,  25,  52,  21,  48,  44,  57,  /* - enter p . y b z space */
 	-1,  53,  24,  51,  20,  47,  30,  -1,  /* - / o , t v a - */
@@ -66,6 +67,22 @@
 	-1,  -1,  29,  -1,  68,  -1,  64,  60,  /* - - ctrl - f10 - f6 f2 */
 	-1,  -1,  -1,  42,  -1,  67,  63,   1,  /* - - - shift - f9 f5 esc */
 };
+#else
+static char keytrans[] = {
+	42,  15,  41,  16,   1,   2, 104,  -1,	/* lsh tab ` q esc 1 WIN - */
+	58,  44,  45,  30,  31,  17,  18,   3,	/* ctrl z x a s w e 2 */
+	56,  57,  46,  47,  32,  33,  19,   4,	/* lalt sp c v d f r 3 */
+	48,  49,  34,  35,  20,  21,   5,   6,	/* b n g h t y 4 5 */
+	50,  51,  36,  37,  22,  23,   7,   8,	/* m , j k u i 6 7 */
+	105, 29,  38,  24,  25,   9,  10,  11,	/* Fn caps l o p 8 9 0 */
+	26,  27, 102,  52,  53,  39,  12,  13,	/* [ ] dar , / ; \- = */
+	54, 103, 100, 102,  39,  28,  43,  14,	/* rsh - - uar - ; ent \ del */
+	-1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,	/* - - - - - - - - */
+	-1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,	/* - - - - - - - - */
+	-1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,	/* - - - - - - - - */
+	-1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,	/* - - - - - - - - */
+};
+#endif
 /* XXX: fill the field of funct. keys, ex. arrow, fnc, nfer... */
 
 #define	SCROLL		0x0001	/* stop output */
@@ -204,12 +221,12 @@
 	{ NONE,	"",		"",		"" },		/* 97 0 */
 	{ NONE,	"",		"",		"" },		/* 98 0 */
 	{ NONE,	"",		"",		"" },		/* 99 0 */
-	{ NONE,	"",		"",		"" },		/* 100 */
-	{ NONE,	"",		"",		"" },		/* 101 */
-	{ NONE,	"",		"",		"" },		/* 102 */
-	{ NONE,	"",		"",		"" },		/* 103 */
-	{ NONE,	"",		"",		"" },		/* 104 */
-	{ NONE,	"",		"",		"" },		/* 105 */
+	{ FUNC,	"\033[A",	"\033[A",	"\033[A" },	/* 100 uar */
+	{ FUNC,	"\033[C",	"\033[C",	"\033[C" },	/* 101 lar */
+	{ FUNC,	"\033[B",	"\033[B",	"\033[B" },	/* 102 rar */
+	{ FUNC,	"\033[D",	"\033[D",	"\033[D" },	/* 103 dar */
+	{ NONE,	"",		"",		"" },		/* 104 win */
+	{ NONE,	"",		"",		"" },		/* 105 Fn */
 	{ NONE,	"",		"",		"" },		/* 106 */
 	{ NONE,	"",		"",		"" },		/* 107 */
 	{ NONE,	"",		"",		"" },		/* 108 */
@@ -332,7 +349,10 @@
 			}
 			k ^= 1 << n;
 			m = n + i * 16;
-			if (keytrans[m] < 0) continue;
+			if (keytrans[m] < 0) {
+				printf("UNKOWN SCAN 0x%02x\n", m);
+				continue;
+			}
 
 			/* XXX: scanbuf may overflow! */
 			process_key(sc, keytrans[m],