Module Name:    src
Committed By:   jmcneill
Date:           Thu Aug 31 19:55:43 UTC 2017

Modified Files:
        src/sys/dev/i2c: files.i2c tcakp.c
        src/sys/dev/usb: files.usb
        src/sys/dev/wscons: linux_keymap.c linux_keymap.h wsconsio.h

Log Message:
Instead of a Linux keymap, convert Linux event codes to USB scan codes and
use the ukbd keymaps instead.


To generate a diff of this commit:
cvs rdiff -u -r1.74 -r1.75 src/sys/dev/i2c/files.i2c
cvs rdiff -u -r1.3 -r1.4 src/sys/dev/i2c/tcakp.c
cvs rdiff -u -r1.145 -r1.146 src/sys/dev/usb/files.usb
cvs rdiff -u -r1.1 -r1.2 src/sys/dev/wscons/linux_keymap.c \
    src/sys/dev/wscons/linux_keymap.h
cvs rdiff -u -r1.120 -r1.121 src/sys/dev/wscons/wsconsio.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/i2c/files.i2c
diff -u src/sys/dev/i2c/files.i2c:1.74 src/sys/dev/i2c/files.i2c:1.75
--- src/sys/dev/i2c/files.i2c:1.74	Sat Aug 26 21:02:35 2017
+++ src/sys/dev/i2c/files.i2c	Thu Aug 31 19:55:43 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: files.i2c,v 1.74 2017/08/26 21:02:35 jmcneill Exp $
+#	$NetBSD: files.i2c,v 1.75 2017/08/31 19:55:43 jmcneill Exp $
 
 obsolete defflag	opt_i2cbus.h		I2C_SCAN
 define	i2cbus { }
@@ -264,6 +264,6 @@ attach	as3722reg at as3722pmic
 file	dev/i2c/as3722.c			as3722pmic	needs-flag
 
 # Texas Instruments TCA8418 Keypad Scan IC
-device	tcakp: wskbddev
+device	tcakp: wskbddev, linux_keymap
 attach	tcakp at iic
 file	dev/i2c/tcakp.c				tcakp

Index: src/sys/dev/i2c/tcakp.c
diff -u src/sys/dev/i2c/tcakp.c:1.3 src/sys/dev/i2c/tcakp.c:1.4
--- src/sys/dev/i2c/tcakp.c:1.3	Wed Aug 30 00:40:09 2017
+++ src/sys/dev/i2c/tcakp.c	Thu Aug 31 19:55:43 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: tcakp.c,v 1.3 2017/08/30 00:40:09 jmcneill Exp $ */
+/* $NetBSD: tcakp.c,v 1.4 2017/08/31 19:55:43 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2017 Jared McNeill <jmcne...@invisible.ca>
@@ -29,7 +29,7 @@
 #include "opt_fdt.h"
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tcakp.c,v 1.3 2017/08/30 00:40:09 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tcakp.c,v 1.4 2017/08/31 19:55:43 jmcneill Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -85,14 +85,6 @@ __KERNEL_RCSID(0, "$NetBSD: tcakp.c,v 1.
 #define	TCA_DEBOUNCE_DIS2	0x2a
 #define	TCA_DEBOUNCE_DIS3	0x2b
 
-#ifdef FDT
-#define KC(n)	KS_KEYCODE(n)
-static const keysym_t tcakp_linux_event_keydesc[] = {
-	KC(1),		
-};
-#undef KC
-#endif
-
 struct tcakp_softc {
 	device_t	sc_dev;
 	i2c_tag_t	sc_i2c;
@@ -160,7 +152,7 @@ tcakp_intr(void *priv)
 
 			u_int type = pressed ? WSCONS_EVENT_KEY_DOWN :
 					       WSCONS_EVENT_KEY_UP;
-			int key = sc->sc_keymap[index];
+			int key = linux_key_to_usb(sc->sc_keymap[index]);
 
 			if (sc->sc_wskbddev)
 				wskbd_input(sc->sc_wskbddev, type, key);
@@ -264,7 +256,7 @@ tcakp_ioctl(void *v, u_long cmd, void *d
 {
 	switch (cmd) {
 	case WSKBDIO_GTYPE:
-		*(int *)data = WSKBD_TYPE_TCAKP;
+		*(int *)data = WSKBD_TYPE_USB;
 		return 0;
 	}
 
@@ -314,8 +306,9 @@ static const struct wskbd_consops tcakp_
 };
 #endif
 
+extern const struct wscons_keydesc ukbd_keydesctab[];
 static const struct wskbd_mapdata tcakp_keymapdata = {
-	linux_keymap_keydesctab,
+	ukbd_keydesctab,
 	KB_US,
 };
 

Index: src/sys/dev/usb/files.usb
diff -u src/sys/dev/usb/files.usb:1.145 src/sys/dev/usb/files.usb:1.146
--- src/sys/dev/usb/files.usb:1.145	Wed May 24 20:23:58 2017
+++ src/sys/dev/usb/files.usb	Thu Aug 31 19:55:43 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: files.usb,v 1.145 2017/05/24 20:23:58 christos Exp $
+#	$NetBSD: files.usb,v 1.146 2017/08/31 19:55:43 jmcneill Exp $
 #
 # Config file and device description for machine-independent USB code.
 # Included by ports that need it.  Ports that use it must provide
@@ -162,7 +162,7 @@ defflag		opt_ukbd.h 	GDIUM_KEYBOARD_HACK
 device	ukbd: hid, wskbddev
 attach	ukbd at uhidbus
 file	dev/usb/ukbd.c			ukbd			needs-flag
-file	dev/usb/ukbdmap.c		ukbd | btkbd
+file	dev/usb/ukbdmap.c		ukbd | btkbd | linux_keymap
 
 # Mice
 device	ums: hid, wsmousedev

Index: src/sys/dev/wscons/linux_keymap.c
diff -u src/sys/dev/wscons/linux_keymap.c:1.1 src/sys/dev/wscons/linux_keymap.c:1.2
--- src/sys/dev/wscons/linux_keymap.c:1.1	Wed Aug 30 00:39:27 2017
+++ src/sys/dev/wscons/linux_keymap.c	Thu Aug 31 19:55:43 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_keymap.c,v 1.1 2017/08/30 00:39:27 jmcneill Exp $ */
+/* $NetBSD: linux_keymap.c,v 1.2 2017/08/31 19:55:43 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 1997-2017 The NetBSD Foundation, Inc.
@@ -30,145 +30,157 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_keymap.c,v 1.1 2017/08/30 00:39:27 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_keymap.c,v 1.2 2017/08/31 19:55:43 jmcneill Exp $");
 
 #include <sys/types.h>
-#include <dev/wscons/wsksymdef.h>
-#include <dev/wscons/wsksymvar.h>
 #include <dev/wscons/linux_keymap.h>
 
-#define KC(n) KS_KEYCODE(n)
-
-static const keysym_t linux_keymap_keydesc_us[] = {
-/*  pos      command		normal		shifted */
-    KC(1),   KS_Cmd_Debugger,	KS_Escape,
-    KC(2),  			KS_1,		KS_exclam,
-    KC(3),  			KS_2,		KS_at,
-    KC(4),  			KS_3,		KS_numbersign,
-    KC(5),  			KS_4,		KS_dollar,
-    KC(6),  			KS_5,		KS_percent,
-    KC(7),  			KS_6,		KS_asciicircum,
-    KC(8),  			KS_7,		KS_ampersand,
-    KC(9),  			KS_8,		KS_asterisk,
-    KC(10), 			KS_9,		KS_parenleft,
-    KC(11), 			KS_0,		KS_parenright,
-    KC(12), 			KS_minus,	KS_underscore,
-    KC(13), 			KS_equal,	KS_plus,
-    KC(14),  KS_Cmd_ResetEmul,	KS_Delete,
-    KC(15), 			KS_Tab,
-    KC(16), 			KS_q,
-    KC(17), 			KS_w,
-    KC(18), 			KS_e,
-    KC(19), 			KS_r,
-    KC(20), 			KS_t,
-    KC(21), 			KS_y,
-    KC(22), 			KS_u,
-    KC(23), 			KS_i,
-    KC(24), 			KS_o,
-    KC(25), 			KS_p,
-    KC(26), 			KS_bracketleft,	KS_braceleft,
-    KC(27), 			KS_bracketright, KS_braceright,
-    KC(28), 			KS_Return,
-    KC(29),  KS_Cmd1,		KS_Control_L,
-    KC(30), 			KS_a,
-    KC(31), 			KS_s,
-    KC(32), 			KS_d,
-    KC(33), 			KS_f,
-    KC(34), 			KS_g,
-    KC(35), 			KS_h,
-    KC(36), 			KS_j,
-    KC(37), 			KS_k,
-    KC(38), 			KS_l,
-    KC(39), 			KS_semicolon,	KS_colon,
-    KC(40), 			KS_apostrophe,	KS_quotedbl,
-    KC(41), 			KS_grave,	KS_asciitilde,
-    KC(42), 			KS_Shift_L,
-    KC(43), 			KS_backslash,	KS_bar,
-    KC(44), 			KS_z,
-    KC(45), 			KS_x,
-    KC(46), 			KS_c,
-    KC(47), 			KS_v,
-    KC(48), 			KS_b,
-    KC(49), 			KS_n,
-    KC(50), 			KS_m,
-    KC(51), 			KS_comma,	KS_less,
-    KC(52), 			KS_period,	KS_greater,
-    KC(53), 			KS_slash,	KS_question,
-    KC(54), 			KS_Shift_R,
-    KC(55), 			KS_KP_Multiply,
-    KC(56),  KS_Cmd2,		KS_Alt_L,
-    KC(57), 			KS_space,
-    KC(58), 			KS_Caps_Lock,
-    KC(59),  KS_Cmd_Screen0,	KS_f1,
-    KC(60),  KS_Cmd_Screen1,	KS_f2,
-    KC(61),  KS_Cmd_Screen2,	KS_f3,
-    KC(62),  KS_Cmd_Screen3,	KS_f4,
-    KC(63),  KS_Cmd_Screen4,	KS_f5,
-    KC(64),  KS_Cmd_Screen5,	KS_f6,
-    KC(65),  KS_Cmd_Screen6,	KS_f7,
-    KC(66),  KS_Cmd_Screen7,	KS_f8,
-    KC(67),  KS_Cmd_Screen8,	KS_f9,
-    KC(68),  KS_Cmd_Screen9,	KS_f10,
-    KC(69), 			KS_Num_Lock,
-    KC(70), 			KS_Hold_Screen,
-    KC(71), 			KS_KP_Home,	KS_KP_7,
-    KC(72), 			KS_KP_Up,	KS_KP_8,
-    KC(73), KS_Cmd_ScrollFastUp, KS_KP_Prior,	KS_KP_9,
-    KC(74), 			KS_KP_Subtract,
-    KC(75), 			KS_KP_Left,	KS_KP_4,
-    KC(76), 			KS_KP_Begin,	KS_KP_5,
-    KC(77), 			KS_KP_Right,	KS_KP_6,
-    KC(78), 			KS_KP_Add,
-    KC(79), 			KS_KP_End,	KS_KP_1,
-    KC(80), 			KS_KP_Down,	KS_KP_2,
-    KC(81), KS_Cmd_ScrollFastDown, KS_KP_Next,	KS_KP_3,
-    KC(82), 			KS_KP_Insert,	KS_KP_0,
-    KC(83), 			KS_KP_Delete,	KS_KP_Decimal,
-    KC(87), 			KS_f11,
-    KC(88), 			KS_f12,
-    KC(96),			KS_KP_Enter,
-    KC(97),			KS_Control_R,
-    KC(98),			KS_KP_Divide,
-    KC(99),			KS_Print_Screen,
-    KC(100),			KS_Alt_R,	KS_Multi_key,
-    KC(102),			KS_Home,
-    KC(103),			KS_Up,
-    KC(104), KS_Cmd_ScrollFastUp, KS_Prior,
-    KC(105),			KS_Left,
-    KC(106),			KS_Right,
-    KC(107),			KS_End,
-    KC(108),			KS_Down,
-    KC(109), KS_Cmd_ScrollFastDown, KS_Next,
-    KC(110),			KS_Insert,
-    KC(111),			KS_Delete,
-    KC(113),			KS_Cmd_VolumeToggle,
-    KC(114),			KS_Cmd_VolumeDown,
-    KC(115),			KS_Cmd_VolumeUp,
-    KC(119),			KS_Pause, /* Break */
-    KC(125),			KS_Meta_L,
-    KC(126),			KS_Meta_R,
-    KC(128),			KS_Stop,
-    KC(129),			KS_Again,
-    KC(130),			KS_Props,
-    KC(131),			KS_Undo,
-    KC(132),			KS_Front,
-    KC(133),			KS_Copy,
-    KC(134),			KS_Open,
-    KC(135),			KS_Paste,
-    KC(136),			KS_Find,
-    KC(137),			KS_Cut,
-    KC(138),			KS_Help,
-    KC(139),			KS_Menu,
-};
-
-#define KBD_MAP(name, base, map) \
-			{ name, base, sizeof(map)/sizeof(keysym_t), map }
-
-const struct wscons_keydesc linux_keymap_keydesctab[] = {
-	KBD_MAP(KB_US,			0,	linux_keymap_keydesc_us),
-
-	{0, 0, 0, 0}
+static const uint8_t linux_key_to_usb_map[] = {
+	[0  ] /*         KEY_RESERVED */ =	0x00,
+	[1  ] /*              KEY_ESC */ =	0x29,
+	[2  ] /*                KEY_1 */ =	0x1e,
+	[3  ] /*                KEY_2 */ =	0x1f,
+	[4  ] /*                KEY_3 */ =	0x20,
+	[5  ] /*                KEY_4 */ =	0x21,
+	[6  ] /*                KEY_5 */ =	0x22,
+	[7  ] /*                KEY_6 */ =	0x23,
+	[8  ] /*                KEY_7 */ =	0x24,
+	[9  ] /*                KEY_8 */ =	0x25,
+	[10 ] /*                KEY_9 */ =	0x26,
+	[11 ] /*                KEY_0 */ =	0x27,
+	[12 ] /*            KEY_MINUS */ =	0x2d,
+	[13 ] /*            KEY_EQUAL */ =	0x2e,
+	[14 ] /*        KEY_BACKSPACE */ =	0x2a,
+	[15 ] /*              KEY_TAB */ =	0x2b,
+	[16 ] /*                KEY_Q */ =	0x14,
+	[17 ] /*                KEY_W */ =	0x1a,
+	[18 ] /*                KEY_E */ =	0x08,
+	[19 ] /*                KEY_R */ =	0x15,
+	[20 ] /*                KEY_T */ =	0x17,
+	[21 ] /*                KEY_Y */ =	0x1c,
+	[22 ] /*                KEY_U */ =	0x18,
+	[23 ] /*                KEY_I */ =	0x0c,
+	[24 ] /*                KEY_O */ =	0x12,
+	[25 ] /*                KEY_P */ =	0x13,
+	[26 ] /*        KEY_LEFTBRACE */ =	0x2f,
+	[27 ] /*       KEY_RIGHTBRACE */ =	0x30,
+	[28 ] /*            KEY_ENTER */ =	0x28,
+	[29 ] /*         KEY_LEFTCTRL */ =	0xe0,
+	[30 ] /*                KEY_A */ =	0x04,
+	[31 ] /*                KEY_S */ =	0x16,
+	[32 ] /*                KEY_D */ =	0x07,
+	[33 ] /*                KEY_F */ =	0x09,
+	[34 ] /*                KEY_G */ =	0x0a,
+	[35 ] /*                KEY_H */ =	0x0b,
+	[36 ] /*                KEY_J */ =	0x0d,
+	[37 ] /*                KEY_K */ =	0x0e,
+	[38 ] /*                KEY_L */ =	0x0f,
+	[39 ] /*        KEY_SEMICOLON */ =	0x33,
+	[40 ] /*       KEY_APOSTROPHE */ =	0x34,
+	[41 ] /*            KEY_GRAVE */ =	0x35,
+	[42 ] /*        KEY_LEFTSHIFT */ =	0xe1,
+	[43 ] /*        KEY_BACKSLASH */ =	0x31,
+	[44 ] /*                KEY_Z */ =	0x1d,
+	[45 ] /*                KEY_X */ =	0x1b,
+	[46 ] /*                KEY_C */ =	0x06,
+	[47 ] /*                KEY_V */ =	0x19,
+	[48 ] /*                KEY_B */ =	0x05,
+	[49 ] /*                KEY_N */ =	0x11,
+	[50 ] /*                KEY_M */ =	0x10,
+	[51 ] /*            KEY_COMMA */ =	0x36,
+	[52 ] /*              KEY_DOT */ =	0x37,
+	[53 ] /*            KEY_SLASH */ =	0x38,
+	[54 ] /*       KEY_RIGHTSHIFT */ =	0xe5,
+	[55 ] /*       KEY_KPASTERISK */ =	0x55,
+	[56 ] /*          KEY_LEFTALT */ =	0xe2,
+	[57 ] /*            KEY_SPACE */ =	0x2c,
+	[58 ] /*         KEY_CAPSLOCK */ =	0x39,
+	[59 ] /*               KEY_F1 */ =	0x3a,
+	[60 ] /*               KEY_F2 */ =	0x3b,
+	[61 ] /*               KEY_F3 */ =	0x3c,
+	[62 ] /*               KEY_F4 */ =	0x3d,
+	[63 ] /*               KEY_F5 */ =	0x3e,
+	[64 ] /*               KEY_F6 */ =	0x3f,
+	[65 ] /*               KEY_F7 */ =	0x40,
+	[66 ] /*               KEY_F8 */ =	0x41,
+	[67 ] /*               KEY_F9 */ =	0x42,
+	[68 ] /*              KEY_F10 */ =	0x43,
+	[69 ] /*          KEY_NUMLOCK */ =	0x53,
+	[70 ] /*       KEY_SCROLLLOCK */ =	0x47,
+	[71 ] /*              KEY_KP7 */ =	0x5f,
+	[72 ] /*              KEY_KP8 */ =	0x60,
+	[73 ] /*              KEY_KP9 */ =	0x61,
+	[74 ] /*          KEY_KPMINUS */ =	0x56,
+	[75 ] /*              KEY_KP4 */ =	0x5c,
+	[76 ] /*              KEY_KP5 */ =	0x5d,
+	[77 ] /*              KEY_KP6 */ =	0x5e,
+	[78 ] /*           KEY_KPPLUS */ =	0x57,
+	[79 ] /*              KEY_KP1 */ =	0x59,
+	[80 ] /*              KEY_KP2 */ =	0x5a,
+	[81 ] /*              KEY_KP3 */ =	0x5b,
+	[82 ] /*              KEY_KP0 */ =	0x62,
+	[83 ] /*            KEY_KPDOT */ =	0x63,
+	[85 ] /*   KEY_ZENKAKUHANKAKU */ =	0x94,
+#if 0
+	[86 ] /*            KEY_102ND */ =	???
+#endif
+	[87 ] /*              KEY_F11 */ =	0x44,
+	[88 ] /*              KEY_F12 */ =	0x45,
+	[89 ] /*               KEY_RO */ =	0x87,
+	[90 ] /*         KEY_KATAKANA */ =	0x92,
+	[91 ] /*         KEY_HIRAGANA */ =	0x93,
+	[92 ] /*           KEY_HENKAN */ =	0x8a,
+	[93 ] /* KEY_KATAKANAHIRAGANA */ =	0x88,
+	[94 ] /*         KEY_MUHENKAN */ =	0x8b,
+	[95 ] /*        KEY_KPJPCOMMA */ =	0x8c,
+	[96 ] /*          KEY_KPENTER */ =	0x58,
+	[97 ] /*        KEY_RIGHTCTRL */ =	0xe4,
+	[98 ] /*          KEY_KPSLASH */ =	0x54,
+	[99 ] /*            KEY_SYSRQ */ =	0x9a,
+	[100] /*         KEY_RIGHTALT */ =	0xe6,
+#if 0
+	[101] /*         KEY_LINEFEED */ =	???
+#endif
+	[102] /*             KEY_HOME */ =	0x4a,
+	[103] /*               KEY_UP */ =	0x52,
+	[104] /*           KEY_PAGEUP */ =	0x4b,
+	[105] /*             KEY_LEFT */ =	0x50,
+	[106] /*            KEY_RIGHT */ =	0x4f,
+	[107] /*              KEY_END */ =	0x4d,
+	[108] /*             KEY_DOWN */ =	0x51,
+	[109] /*         KEY_PAGEDOWN */ =	0x4e,
+	[110] /*           KEY_INSERT */ =	0x49,
+	[111] /*           KEY_DELETE */ =	0x4c,
+#if 0
+	[112] /*            KEY_MACRO */ =	???
+#endif
+	[113] /*             KEY_MUTE */ =	0x7f,
+	[114] /*       KEY_VOLUMEDOWN */ =	0x81,
+	[115] /*         KEY_VOLUMEUP */ =	0x80,
+	[116] /*            KEY_POWER */ =	0x66,
+	[117] /*          KEY_KPEQUAL */ =	0x67,
+#if 0
+	[118] /*      KEY_KPPLUSMINUS */ =	???
+#endif
+	[119] /*            KEY_PAUSE */ =	0x48,
+#if 0
+	[120] /*            KEY_SCALE */ =	???
+#endif
+	[121] /*          KEY_KPCOMMA */ =	0x85,
+	[122] /*          KEY_HANGEUL */ =	0x90,
+	[123] /*            KEY_HANJA */ =	0x91,
+	[124] /*              KEY_YEN */ =	0x89,
+	[125] /*         KEY_LEFTMETA */ =	0xe3,
+	[126] /*        KEY_RIGHTMETA */ =	0xe7,
+#if 0
+	[127] /*          KEY_COMPOSE */ =	???
+#endif
 };
 
-#undef KBD_MAP
-#undef KC
+uint8_t
+linux_key_to_usb(u_int code)
+{
+	if (code >= __arraycount(linux_key_to_usb_map))
+		return 0x00;	/* No Event */
+	return linux_key_to_usb_map[code];
+}
Index: src/sys/dev/wscons/linux_keymap.h
diff -u src/sys/dev/wscons/linux_keymap.h:1.1 src/sys/dev/wscons/linux_keymap.h:1.2
--- src/sys/dev/wscons/linux_keymap.h:1.1	Wed Aug 30 00:39:27 2017
+++ src/sys/dev/wscons/linux_keymap.h	Thu Aug 31 19:55:43 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_keymap.h,v 1.1 2017/08/30 00:39:27 jmcneill Exp $ */
+/* $NetBSD: linux_keymap.h,v 1.2 2017/08/31 19:55:43 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2017 Jared McNeill <jmcne...@invisible.ca>
@@ -31,6 +31,6 @@
 
 #include <dev/wscons/wsksymvar.h>
 
-extern const struct wscons_keydesc linux_keymap_keydesctab[];
+uint8_t linux_key_to_usb(u_int);
 
 #endif /* !_WSCONS_LINUX_KEYMAP_H */

Index: src/sys/dev/wscons/wsconsio.h
diff -u src/sys/dev/wscons/wsconsio.h:1.120 src/sys/dev/wscons/wsconsio.h:1.121
--- src/sys/dev/wscons/wsconsio.h:1.120	Sat Aug 26 21:16:54 2017
+++ src/sys/dev/wscons/wsconsio.h	Thu Aug 31 19:55:43 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: wsconsio.h,v 1.120 2017/08/26 21:16:54 jmcneill Exp $ */
+/* $NetBSD: wsconsio.h,v 1.121 2017/08/31 19:55:43 jmcneill Exp $ */
 
 /*
  * Copyright (c) 1996, 1997 Christopher G. Demetriou.  All rights reserved.
@@ -109,7 +109,6 @@ struct wscons_event {
 #define	WSKBD_TYPE_LUNA		23	/* OMRON SX-9100 LUNA */
 #define	WSKBD_TYPE_RFB		24	/* Usermode vnc remote keyboard */
 #define	WSKBD_TYPE_EPOC		25	/* Psion EPOC machine keyboard */
-#define	WSKBD_TYPE_TCAKP	26	/* TI TCA8418 keypad */
 
 /* Manipulate the keyboard bell. */
 struct wskbd_bell_data {

Reply via email to