Home | History | Annotate | Line # | Download | only in hpc
      1  1.51  kiyohara /*	$NetBSD: hpckbdkeymap.h,v 1.51 2011/08/06 03:53:40 kiyohara Exp $	*/
      2   1.1       uch 
      3   1.1       uch /*-
      4  1.13       uch  * Copyright (c) 1999-2002 The NetBSD Foundation, Inc.
      5   1.1       uch  * All rights reserved.
      6   1.1       uch  *
      7   1.1       uch  * Redistribution and use in source and binary forms, with or without
      8   1.1       uch  * modification, are permitted provided that the following conditions
      9   1.1       uch  * are met:
     10   1.1       uch  * 1. Redistributions of source code must retain the above copyright
     11   1.1       uch  *    notice, this list of conditions and the following disclaimer.
     12   1.1       uch  * 2. Redistributions in binary form must reproduce the above copyright
     13   1.1       uch  *    notice, this list of conditions and the following disclaimer in the
     14   1.1       uch  *    documentation and/or other materials provided with the distribution.
     15   1.1       uch  *
     16   1.1       uch  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
     17   1.1       uch  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
     18   1.1       uch  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     19   1.1       uch  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
     20   1.1       uch  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     21   1.1       uch  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     22   1.1       uch  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     23   1.1       uch  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     24   1.1       uch  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     25   1.1       uch  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     26   1.1       uch  * POSSIBILITY OF SUCH DAMAGE.
     27   1.1       uch  */
     28   1.1       uch 
     29   1.1       uch #define UNK		255	/* unknown */
     30   1.1       uch #define IGN		254	/* ignore */
     31   1.1       uch #define SPL		253	/* special key */
     32   1.1       uch #define KC(n)		KS_KEYCODE(n)
     33   1.1       uch #define CMDMAP(map)	{ map, (sizeof(map)/sizeof(keysym_t)) }
     34   1.1       uch #define NULLCMDMAP	{ NULL, 0 }
     35   1.1       uch 
     36   1.1       uch #define KEY_SPECIAL_OFF		0
     37   1.1       uch #define KEY_SPECIAL_LIGHT	1
     38   1.1       uch 
     39  1.32       uwe const uint8_t default_keymap[] = {
     40  1.33       uwe /*      0    1    2    3    4    5    6    7 */
     41   1.1       uch /* 0 */	UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK,
     42   1.1       uch /* 1 */	UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK,
     43   1.1       uch /* 2 */	UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK,
     44   1.1       uch /* 3 */	UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK,
     45   1.1       uch /* 4 */	UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK,
     46   1.1       uch /* 5 */	UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK,
     47   1.1       uch /* 6 */	UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK,
     48   1.1       uch /* 7 */	UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK,
     49   1.1       uch /* 8 */	UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK,
     50   1.1       uch /* 9 */	UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK,
     51   1.1       uch /*10 */	UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK,
     52   1.1       uch /*11 */	UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK,
     53   1.1       uch /*12 */	UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK,
     54   1.1       uch /*13 */	UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK,
     55   1.1       uch /*14 */	UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK,
     56   1.1       uch /*15 */	UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK
     57   1.1       uch };
     58   1.1       uch 
     59   1.1       uch const int default_special_keymap[] = {
     60   1.1       uch 	[KEY_SPECIAL_OFF]	= -1,
     61   1.1       uch 	[KEY_SPECIAL_LIGHT]	= -1
     62   1.1       uch };
     63   1.1       uch 
     64   1.1       uch #ifdef hpcmips
     65  1.32       uwe const uint8_t tc5165_mobilon_keymap[] = {
     66  1.33       uwe /*      0    1    2    3    4    5    6    7 */
     67   1.1       uch /* 0 */	37 , 45 , 44 , UNK, 9  , 51 , 23 , UNK,
     68   1.1       uch /* 1 */	UNK, 56 , UNK, UNK, UNK, UNK, UNK, UNK,
     69   1.1       uch /* 2 */	UNK, UNK, 29 , UNK, UNK, UNK, UNK, UNK,
     70   1.1       uch /* 3 */	24 , 203, UNK, 38 , 10 , 27 , 13 , UNK,
     71   1.1       uch /* 4 */	40 , UNK, UNK, 39 , 26 , 53 , 11 , 12 ,
     72   1.1       uch /* 5 */	UNK, UNK, UNK, 53 , 25 , UNK, UNK, SPL, /* Light */
     73   1.1       uch /* 6 */	208, UNK, UNK, UNK, 52 , UNK, 43 , 14 ,
     74   1.1       uch /* 7 */	205, 200, UNK, UNK, SPL, UNK, UNK, 28 , /* Off key */
     75   1.1       uch /* 8 */	UNK, 41 , 59 , 15 , 2  , UNK, UNK, UNK,
     76   1.1       uch /* 9 */	63 , 64 , 1  , UNK, 65 , 16 , 17 , UNK,
     77   1.1       uch /*10 */	60 , UNK, 61 , 62 , 3  , UNK, UNK, UNK,
     78   1.1       uch /*11 */	UNK, UNK, UNK, 42 , 58 , UNK, UNK, UNK,
     79   1.1       uch /*12 */	47 , 33 , 46 , 5  , 4  , 18 , 19 , UNK,
     80   1.1       uch /*13 */	34 , 35 , 20 , 48 , 6  , 7  , 21 , 49 ,
     81   1.1       uch /*14 */	22 , 31 , 32 , 36 , 8  , 30 , 50 , 57 ,
     82   1.1       uch /*15 */	UNK, IGN, UNK, UNK, UNK, UNK, UNK, UNK /* Windows key */
     83   1.1       uch };
     84   1.1       uch 
     85   1.1       uch const int tc5165_mobilon_special_keymap[] = {
     86  1.44     peter 	[KEY_SPECIAL_OFF]	= -1,	/* 60 */
     87   1.1       uch 	[KEY_SPECIAL_LIGHT]	= 47
     88   1.1       uch };
     89   1.1       uch 
     90  1.32       uwe const uint8_t tc5165_telios_jp_keymap[] = {
     91  1.33       uwe /*      0    1    2    3    4    5    6    7 */
     92   1.1       uch /* 0 */	58,  15,  IGN, 1,   IGN, IGN, IGN, IGN,
     93   1.1       uch /* 1 */	IGN, IGN, IGN, IGN, 54,  42,  IGN, IGN,
     94   1.1       uch /* 2 */	31,  18,  4,   IGN, IGN, 32,  45,  59,
     95   1.1       uch /* 3 */	33,  19,  5,   61,  IGN, 46,  123, 60,
     96   1.1       uch /* 4 */	35,  21,  8,   64,  IGN, 48,  49,  63,
     97   1.1       uch /* 5 */	17,  16,  3,   IGN, 2,   30,  44,  41,
     98  1.36  nakayama /* 6 */	IGN, IGN, IGN, IGN, IGN, IGN, 221, IGN,
     99   1.1       uch /* 7 */	IGN, IGN, IGN, IGN, IGN, IGN, 56,  IGN,
    100   1.1       uch /* 8 */	34,  20,  7,   IGN, 6,   47,  57,  62,
    101   1.1       uch /* 9 */	IGN, IGN, IGN, IGN, IGN, IGN, 29,  IGN,
    102   1.4  takemura /*10 */	27,  125, 13,  203, 208, 40,  115, 68,
    103  1.36  nakayama /*11 */	39,  26,  25,  112, 12,  52,  53,  67,
    104  1.36  nakayama /*12 */	37,  24,  11,  121, 10,  38,  51,  66,
    105   1.1       uch /*13 */	23,  22,  9,   IGN, IGN, 36,  50,  65,
    106  1.36  nakayama /*14 */	28,  43,  14,  200, 205, IGN, IGN, 211,
    107  1.36  nakayama /*15 */	IGN, IGN, IGN, IGN, IGN, IGN, 184, IGN
    108  1.36  nakayama };
    109  1.36  nakayama 
    110  1.36  nakayama static const keysym_t tc5165_telios_jp_cmdmap[] = {
    111  1.36  nakayama /*	pos      command		normal		shifted		*/
    112  1.36  nakayama 	KC(184), KS_Cmd,		KS_Alt_R,	KS_Multi_key,
    113  1.36  nakayama 	KC(205), KS_Cmd_BrightnessUp,	KS_Right,
    114  1.36  nakayama 	KC(203), KS_Cmd_BrightnessDown,	KS_Left,
    115  1.36  nakayama 	KC(57),  KS_Cmd_BacklightToggle,KS_space,
    116   1.1       uch };
    117   1.1       uch 
    118  1.32       uwe const uint8_t tc5165_compaq_c_jp_keymap[] = {
    119  1.33       uwe /*      0    1    2    3    4    5    6    7 */
    120  1.33       uwe /* 0 */	38,  50,  49,  48,  47,  46,  45,  44,
    121   1.1       uch /* 1 */	56,  IGN, IGN, IGN, IGN, IGN, IGN, IGN,
    122  1.33       uwe /* 2 */	13,  IGN, 112, 121, 123, 41,  28,  57,
    123   1.4  takemura /* 3 */	205, 203, 208, 200, 39,  53,  52,  51,
    124   1.1       uch /* 4 */	24,  25,  40,  IGN, 43,  26,  115, 58,
    125   1.1       uch /* 5 */	54,  IGN, IGN, IGN, IGN, IGN, IGN, IGN,
    126   1.1       uch /* 6 */	IGN, IGN, IGN, SPL, IGN, IGN, IGN, IGN, /* Light */
    127   1.1       uch /* 7 */	IGN, IGN, IGN, IGN, IGN, IGN, IGN, IGN,
    128   1.1       uch /* 8 */	42,  IGN, IGN, IGN, IGN, IGN, IGN, IGN,
    129   1.1       uch /* 9 */	29,  IGN, IGN, IGN, IGN, IGN, IGN, IGN,
    130   1.1       uch /*10 */	221, IGN, IGN, IGN, IGN, IGN, IGN, IGN,
    131   1.1       uch /*11 */	221, IGN, IGN, IGN, IGN, IGN, IGN, IGN,
    132   1.1       uch /*12 */	14,  27,  12,  11,  10,  15,  1,   125,
    133   1.1       uch /*13 */	9,   8,   7,   6,   5,   4,   3,   2,
    134   1.1       uch /*14 */	23,  22,  21,  20,  19,  18,  17,  16,
    135   1.1       uch /*15 */	37,  36,  35,  34,  33,  32,  31,  30
    136   1.1       uch };
    137   1.1       uch 
    138   1.1       uch const int tc5165_compaq_c_jp_special_keymap[] = {
    139   1.1       uch 	[KEY_SPECIAL_OFF]	= -1, /* don't have off button */
    140   1.1       uch 	[KEY_SPECIAL_LIGHT]	= 51
    141   1.1       uch };
    142   1.1       uch 
    143  1.32       uwe const uint8_t m38813c_keymap[] = {
    144  1.33       uwe /*      0    1    2    3    4    5    6    7 */
    145   1.1       uch /* 0 */	0,   1,   2,   3,   4,   5,   6,   7,
    146   1.1       uch /* 1 */	8,   9,   10,  11,  12,  13,  14,  15,
    147   1.1       uch /* 2 */	16,  17,  18,  19,  20,  21,  22,  23,
    148   1.1       uch /* 3 */	24,  25,  26,  27,  28,  29,  30,  31,
    149   1.1       uch /* 4 */	32,  33,  34,  35,  36,  37,  38,  39,
    150   1.1       uch /* 5 */	40,  41,  42,  43,  44,  45,  46,  47,
    151   1.1       uch /* 6 */	48,  49,  50,  51,  52,  53,  54,  55,
    152   1.1       uch /* 7 */	56,  57,  58,  59,  60,  61,  62,  63,
    153   1.1       uch /* 8 */	64,  65,  66,  67,  68,  69,  70,  71,
    154   1.4  takemura /* 9 */	200, 73,  74,  203, 76,  205,  78,  79,
    155   1.4  takemura /*10 */	208, 81,  82,  83,  84,  85,  86,  87,
    156   1.1       uch /*11 */	88,  89,  90,  91,  92,  93,  94,  95,
    157   1.1       uch /*12 */	96,  97,  98,  99,  100, 101, 102, 103,
    158   1.1       uch /*13 */	104, 105, 106, 107, 108, 109, 110, 111,
    159   1.1       uch /*14 */	112, 113, 114, 115, 116, 117, 118, 119,
    160   1.1       uch /*15 */	120, 121, 122, 123, 124, 125, 126, 127
    161   1.1       uch };
    162   1.1       uch 
    163   1.1       uch /* NEC MobileGearII MCR series (Japan) */
    164  1.32       uwe static uint8_t mcr_jp_keytrans[] = {
    165   1.1       uch /*00	right	ent	p	.	y	b	z	space	*/
    166   1.1       uch /*08	down	/	o	,	t	v	a	nfer	*/
    167   1.1       uch /*10	left	\	i	m	r	c	w	menu	*/
    168   1.1       uch /*18	^	-	u	-	e	x	q	1	*/
    169   1.1       uch /*20	pgdn	h/z	0	l	:	g	tab	f1	*/
    170   1.1       uch /*28	xfer	;	9	n	5	f	2	k	*/
    171   1.1       uch /*30	up	[	8	j	4	d	6	-	*/
    172   1.1       uch /*38	-	@	7	h	3	]	s	-	*/
    173   1.1       uch /*40	caps	-	-	-	bs	fnc	f8	f3	*/
    174   1.1       uch /*48	-	alt	-	-	|	k/h	f7	f4	*/
    175   1.1       uch /*50	-	-	ctrl	-	f10	pgup	f6	f2	*/
    176   1.1       uch /*58	-	-	-	shift	del	f9	f5	esc	*/
    177   1.1       uch /*----------------------------------------------------------------------*/
    178   1.4  takemura /*00*/	205,	 28,	 25,	 52,	 21,	 48,	 44,	 57,
    179   1.4  takemura /*08*/	208,	 53,	 24,	 51,	 20,	 47,	 30,	123,
    180   1.4  takemura /*10*/	203,	115,	 23,	 50,	 19,	 46,	 17,	221,
    181   1.1       uch /*18*/	 13,	IGN,	 22,	IGN,	 18,	 45,	 16,	  2,
    182   1.1       uch /*20*/	 81,	 41,	 11,	 38,	 40,	 34,	 15,	 59,
    183   1.1       uch /*28*/	121,	 39,	 10,	 49,	  6,	 33,	  3,	 37,
    184   1.4  takemura /*30*/	200,	 27,	  9,	 36,	  5,	 32,	  7,	IGN,
    185   1.1       uch /*38*/	 12,	 26,	  8,	 35,	  4,	 43,	 31,	IGN,
    186   1.1       uch /*40*/	 58,	IGN,	IGN,	IGN,	 14,	184,	 66,	 61,
    187   1.1       uch /*48*/	IGN,	 56,	IGN,	IGN,	125,	112,	 65,	 62,
    188   1.1       uch /*50*/	IGN,	IGN,	 29,	IGN,	 68,	 73,	 64,	 60,
    189   1.1       uch /*58*/	IGN,	IGN,	IGN,	 42,	 14,	 67,	 63,	  1,
    190   1.1       uch };
    191   1.1       uch 
    192   1.1       uch static const keysym_t mcr_jp_cmdmap[] = {
    193   1.1       uch /*	pos      command		normal		shifted		*/
    194   1.1       uch 	KC(184), KS_Cmd,		KS_Alt_R,	KS_Multi_key,
    195   1.1       uch 	KC(73),  KS_Cmd_BrightnessUp,	KS_KP_Prior,	KS_KP_9,
    196   1.1       uch 	KC(81),  KS_Cmd_BrightnessDown,	KS_KP_Next,	KS_KP_3,
    197   1.1       uch 	KC(51),  KS_Cmd_ContrastDown,	KS_comma,	KS_less,
    198   1.1       uch 	KC(52),  KS_Cmd_ContrastUp,	KS_period,	KS_greater,
    199   1.1       uch 	KC(57),  KS_Cmd_BacklightToggle,KS_space,
    200   1.1       uch };
    201   1.1       uch 
    202   1.1       uch /* IBM WorkPad z50 */
    203  1.32       uwe static uint8_t z50_keytrans[] = {
    204   1.1       uch /*00	f1	f3	f5	f7	f9	-	-	f11	*/
    205   1.1       uch /*08	f2	f4	f6	f8	f10	-	-	f12	*/
    206   1.1       uch /*10	'	[	-	0	p	;	up	/	*/
    207   1.1       uch /*18	-	-	-	9	o	l	.	-	*/
    208   1.1       uch /*20	left	]	=	8	i	k	,	-	*/
    209   1.1       uch /*28	h	y	6	7	u	j	m	n	*/
    210   1.1       uch /*30	-	bs	num	del	-	\	ent	sp	*/
    211   1.1       uch /*38	g	t	5	4	r	f	v	b	*/
    212   1.1       uch /*40	-	-	-	3	e	d	c	right	*/
    213   1.1       uch /*48	-	-	-	2	w	s	x	down	*/
    214   1.1       uch /*50	esc	tab	~	1	q	a	z	-	*/
    215   1.1       uch /*58	menu	Ls	Lc	Rc	La	Ra	Rs	-	*/
    216   1.1       uch /*----------------------------------------------------------------------*/
    217   1.1       uch /*00*/	 59,	 61,	 63,	 65,	 67,	IGN,	IGN,	 87,
    218   1.1       uch /*08*/	 60,	 62,	 64,	 66,	 68,	IGN,	IGN,	 88,
    219   1.4  takemura /*10*/	 40,	 26,	 12,	 11,	 25,	 39,	200,	 53,
    220   1.1       uch /*18*/	IGN,	IGN,	IGN,	 10,	 24,	 38,	 52,	IGN,
    221   1.4  takemura /*20*/	203,	 27,	 13,	  9,	 23,	 37,	 51,	IGN,
    222   1.1       uch /*28*/	 35,	 21,	  7,	  8,	 22,	 36,	 50,	 49,
    223   1.1       uch /*30*/	IGN,	 14,	 69,	 14,	IGN,	 43,	 28,	 57,
    224   1.1       uch /*38*/	 34,	 20,	  6,	  5,	 19,	 33,	 47,	 48,
    225   1.4  takemura /*40*/	IGN,	IGN,	IGN,	  4,	 18,	 32,	 46,	205,
    226   1.4  takemura /*48*/	IGN,	IGN,	IGN,	  3,	 17,	 31,	 45,	208,
    227   1.1       uch /*50*/	  1,	 15,	 41,	  2,	 16,	 30,	 44,	IGN,
    228   1.1       uch /*58*/	221,	 42,	 29,	 29,	 56,	 56,	 54,	IGN,
    229   1.1       uch };
    230   1.1       uch 
    231   1.1       uch /* Sharp Tripad PV6000 and VADEM CLIO */
    232  1.32       uwe static uint8_t tripad_keytrans[] = {
    233   1.1       uch /*00	lsh	tab	`	q	esc	1	WIN	-	*/
    234   1.1       uch /*08	ctrl	z	x	a	s	w	e	2	*/
    235   1.1       uch /*10	lalt	sp	c	v	d	f	r	3	*/
    236   1.1       uch /*18	b	n	g	h	t	y	4	5	*/
    237   1.1       uch /*20	m	,	j	k	u	i	6	7	*/
    238   1.1       uch /*28	Fn	caps	l	o	p	8	9	0	*/
    239   1.1       uch /*30	[	]	la	.	/	;	-	=	*/
    240   1.1       uch /*38	rsh	ra	ua	da	'	ent	\	del	*/
    241   1.1       uch /*40	-	-	-	-	-	-	-	-	*/
    242   1.1       uch /*48	-	-	-	-	-	-	-	-	*/
    243   1.1       uch /*50	-	-	-	-	-	-	-	-	*/
    244   1.1       uch /*58	-	-	-	-	-	-	-	-	*/
    245   1.1       uch /*----------------------------------------------------------------------*/
    246   1.1       uch /*00*/	 42,	 15,	 41,	 16,	  1,	  2,	104,	221,
    247   1.1       uch /*08*/	 29,	 44,	 45,	 30,	 31,	 17,	 18,	  3,
    248   1.1       uch /*10*/	 56,	 57,	 46,	 47,	 32,	 33,	 19,	  4,
    249   1.1       uch /*18*/	 48,	 49,	 34,	 35,	 20,	 21,	  5,	  6,
    250   1.1       uch /*20*/	 50,	 51,	 36,	 37,	 22,	 23,	  7,	  8,
    251  1.41   tsutsui /*28*/	184,	 58,	 38,	 24,	 25,	  9,	 10,	 11,
    252   1.4  takemura /*30*/	 26,	 27,	203,	 52,	 53,	 39,	 12,	 13,
    253   1.4  takemura /*38*/	 54,	205,	200,	208,	 40,	 28,	 43,	 14,
    254   1.1       uch /*40*/	IGN,	IGN,	IGN,	IGN,	IGN,	IGN,	IGN,	IGN,
    255   1.1       uch /*48*/	IGN,	IGN,	IGN,	IGN,	IGN,	IGN,	IGN,	IGN,
    256   1.1       uch /*50*/	IGN,	IGN,	IGN,	IGN,	IGN,	IGN,	IGN,	IGN,
    257   1.1       uch /*58*/	IGN,	IGN,	IGN,	IGN,	IGN,	IGN,	IGN,	IGN,
    258   1.1       uch };
    259   1.1       uch 
    260  1.41   tsutsui static const keysym_t tripad_cmdmap[] = {
    261  1.41   tsutsui /*  pos      command		normal		shifted		fn    */
    262  1.41   tsutsui KC(2),	 KS_Cmd_Screen0,	KS_1,		KS_exclam,	KS_f1,
    263  1.41   tsutsui KC(3),	 KS_Cmd_Screen1,	KS_2,		KS_at,		KS_f2,
    264  1.41   tsutsui KC(4),	 KS_Cmd_Screen2,	KS_3,		KS_numbersign,	KS_f3,
    265  1.41   tsutsui KC(5),	 KS_Cmd_Screen3,	KS_4,		KS_dollar,	KS_f4,
    266  1.41   tsutsui KC(6),	 KS_Cmd_Screen4,	KS_5,		KS_percent,	KS_f5,
    267  1.41   tsutsui KC(7),	 KS_Cmd_Screen5,	KS_6,		KS_asciicircum,	KS_f6,
    268  1.41   tsutsui KC(8),	 KS_Cmd_Screen6,	KS_7,		KS_ampersand,	KS_f7,
    269  1.41   tsutsui KC(9),	 KS_Cmd_Screen7,	KS_8,		KS_asterisk,	KS_f8,
    270  1.41   tsutsui KC(10),  KS_Cmd_Screen8,	KS_9,		KS_parenleft,	KS_f9,
    271  1.41   tsutsui KC(11),  KS_Cmd_Screen9,	KS_0,		KS_parenright,	KS_f10,
    272  1.41   tsutsui KC(12),  KS_Cmd_BrightnessDown,	KS_minus,	KS_underscore,	KS_f11,
    273  1.41   tsutsui KC(13),  KS_Cmd_BrightnessUp,	KS_equal,	KS_plus,	KS_f12,
    274  1.41   tsutsui KC(20),  KS_Cmd_BacklightToggle, KS_t,
    275  1.41   tsutsui KC(33),  KS_Cmd_BacklightOff,	KS_f,
    276  1.41   tsutsui KC(49),  KS_Cmd_BacklightOn,	KS_n,
    277  1.41   tsutsui KC(51),  KS_Cmd_ContrastDown,	KS_comma,	KS_less,
    278  1.41   tsutsui KC(52),  KS_Cmd_ContrastUp,	KS_period,	KS_greater,
    279  1.41   tsutsui KC(184), KS_Mode_switch,	KS_Multi_key,
    280  1.41   tsutsui KC(200), KS_Cmd_ScrollSlowUp,	KS_Up,		KS_Up,		KS_Prior,
    281  1.41   tsutsui KC(203), KS_Cmd_ScrollFastUp,	KS_Left,	KS_Left,	KS_Home,
    282  1.41   tsutsui KC(205), KS_Cmd_ScrollFastDown,	KS_Right,	KS_Right,	KS_End,
    283  1.41   tsutsui KC(208), KS_Cmd_ScrollSlowDown,	KS_Down,	KS_Down,	KS_Next,
    284  1.41   tsutsui };
    285  1.41   tsutsui 
    286   1.1       uch /* NEC Mobile Gear MCCS series */
    287  1.32       uwe static uint8_t mccs_keytrans[] = {
    288   1.1       uch /*00	caps	cr	rar	p	.	y	b	z	*/
    289   1.1       uch /*08	alt	[	dar	o	,	t	v	a	*/
    290   1.1       uch /*10	zen	@	lar	i	m	r	c	w	*/
    291   1.1       uch /*18	lctrl	;	uar	u	n	e	x	q	*/
    292   1.1       uch /*20	lshft	bs	\	0	l	6	g	tab	*/
    293   1.1       uch /*28	nconv	|	/	9	k	5	f	2	*/
    294   1.1       uch /*30	conv	=	]	8	j	4	d	1	*/
    295   1.1       uch /*38	hira	-	'	7	h	3	s	esc	*/
    296   1.1       uch /*40	-	sp	-	-	-	-	-	-	*/
    297   1.1       uch /*48	-	-	-	-	-	-	-	-	*/
    298   1.1       uch /*50	-	-	-	-	-	-	-	-	*/
    299   1.1       uch /*58	-	-	-	-	-	-	-	-	*/
    300   1.1       uch /*----------------------------------------------------------------------*/
    301   1.4  takemura /*00*/	 58,	 28,	205,	 25,	 52,	 21,	 48,	 44,
    302   1.4  takemura /*08*/	 56,	 27,	208,	 24,	 51,	 20,	 47,	 30,
    303   1.4  takemura /*10*/	 41,	 26,	203,	 23,	 50,	 19,	 46,	 17,
    304   1.4  takemura /*18*/	 29,	 39,	200,	 22,	 49,	 18,	 45,	 16,
    305   1.1       uch /*20*/	 42,	 14,	115,	 11,	 38,	  7,	 34,	 15,
    306   1.1       uch /*28*/	123,	125,	 53,	 10,	 37,	  6,	 33,	  3,
    307   1.1       uch /*30*/	121,	 13,	 43,	  9,	 36,	  5,	 32,	  2,
    308   1.1       uch /*38*/	112,	 12,	 40,	  8,	 35,	  4,	 31,	  1,
    309   1.1       uch /*40*/	IGN,	 57,	IGN,	IGN,	IGN,	IGN,	IGN,	IGN,
    310   1.1       uch /*48*/	IGN,	IGN,	IGN,	IGN,	IGN,	IGN,	IGN,	IGN,
    311   1.1       uch /*50*/	IGN,	IGN,	IGN,	IGN,	IGN,	IGN,	IGN,	IGN,
    312   1.1       uch /*58*/	IGN,	IGN,	IGN,	IGN,	IGN,	IGN,	IGN,	IGN,
    313   1.1       uch };
    314   1.1       uch 
    315   1.1       uch static const keysym_t mccs_cmdmap[] = {
    316   1.1       uch /*	pos      command		normal		shifted		*/
    317   1.1       uch 	KC(51),  KS_Cmd_ContrastDown,	KS_comma,	KS_less,
    318   1.1       uch 	KC(52),  KS_Cmd_ContrastUp,	KS_period,	KS_greater,
    319   1.1       uch 	KC(57),  KS_Cmd_BacklightToggle,KS_space,
    320   1.1       uch };
    321   1.1       uch 
    322  1.32       uwe static uint8_t mobilepro_keytrans[] = {
    323  1.10  takemura /*00	space	]	\	/	left	down	enter	l	*/
    324  1.10  takemura /*08	-	[	'	;	right	up	.	o	*/
    325   1.1       uch /*10	-	-	-	Windows	v	c	x	z	*/
    326   1.1       uch /*18	-	=	\-	`	f	d	s	a	*/
    327   1.1       uch /*20	8	7	6	5	r	e	w	q	*/
    328   1.1       uch /*28	,	m	n	b	-	-	0	9	*/
    329   1.1       uch /*30	k	j	h	g	4	3	2	1	*/
    330   1.1       uch /*38	i	u	y	t	-	caps	del	esc	*/
    331   1.1       uch /*40	alt_R	-	-	-	BS	p	TAB	Fn	*/
    332   1.8      sato /*48	-	alt_L	-	-	pgdn	pgup	f10	f9	*/
    333   1.1       uch /*50	-	-	ctrl	-	f8	f7	f6	f5	*/
    334   1.1       uch /*58	-	-	-	shift	f4	f3	f2	f1	*/
    335   1.1       uch /*----------------------------------------------------------------------*/
    336   1.4  takemura /*00*/	 57,	 27,	 43,	 53,	203,	208,	 28,	 38,
    337   1.4  takemura /*08*/	IGN,	 26,	 40,	 39,	205,	200,	 52,	 24,
    338   1.1       uch /*10*/	IGN,	IGN,	IGN,	221,	 47,	 46,	 45,	 44,
    339   1.1       uch /*18*/	IGN,	 13,	 12,	 41,	 33,	 32,	 31,	 30,
    340   1.1       uch /*20*/	  9,	  8,	  7,	  6,	 19,	 18,	 17,	 16,
    341   1.1       uch /*28*/	 51,	 50,	 49,	 48,	IGN,	IGN,	 11,	 10,
    342   1.1       uch /*30*/	 37,	 36,	 35,	 34,	  5,	  4,	  3,	  2,
    343   1.1       uch /*38*/	 23,	 22,	 21,	 20,	IGN,	 58,	 14,	  1,
    344   1.8      sato /*40*/	184,	IGN,	IGN,	IGN,	 14,	 25,	 15,	219,
    345   1.8      sato /*48*/	IGN,	 56,	IGN,	IGN,	 81,	 73,	 68,	 67,
    346   1.1       uch /*50*/	IGN,	IGN,	 29,	IGN,	 66,	 65,	 64,	 63,
    347   1.1       uch /*58*/	IGN,	IGN,	IGN,	 42,	 62,	 61,	 60,	 59,
    348   1.1       uch };
    349   1.1       uch 
    350   1.8      sato static const keysym_t mobilepro_cmdmap[] = {
    351   1.8      sato /*	pos      command		normal		shifted		*/
    352   1.8      sato 	KC(219), KS_Cmd,		KS_Meta_L,	KS_Multi_key,
    353   1.8      sato 	KC(73),  KS_Cmd_BrightnessUp,	KS_KP_Prior,	KS_KP_9,
    354   1.8      sato 	KC(81),  KS_Cmd_BrightnessDown,	KS_KP_Next,	KS_KP_3,
    355   1.8      sato 	KC(51),  KS_Cmd_ContrastDown,	KS_comma,	KS_less,
    356   1.8      sato 	KC(52),  KS_Cmd_ContrastUp,	KS_period,	KS_greater,
    357   1.8      sato 	KC(57),  KS_Cmd_BacklightToggle,KS_space,
    358   1.8      sato };
    359   1.8      sato 
    360   1.1       uch /* NEC MobilePro 750c by "Castor Fu" <castor (at) geocast.com> */
    361  1.32       uwe static uint8_t mobilepro750c_keytrans[] = {
    362   1.1       uch /*00	right	\	p	.	y	b	z	space	*/
    363   1.1       uch /*08	down	/	o	,	t	v	a	-	*/
    364   1.1       uch /*10	left	enter	i	m	r	c	w	Win	*/
    365   1.1       uch /*18	num	]	u	n	e	x	q	caps	*/
    366   1.1       uch /*20	pgdn	-	0	l	:	g	tab	esc	*/
    367   1.1       uch /*28	-	;	9	k	5	f	2	`	*/
    368   1.1       uch /*30	up	[	8	j	4	d	1	'	*/
    369   1.1       uch /*38	-	@	7	h	3	s	del	-	*/
    370   1.1       uch /*40	shift	-	-	-	bs	f12	f8	f4	*/
    371   1.1       uch /*48	-	alt	-	-	|	f11	f7	f3	*/
    372   1.1       uch /*50	-	-	ctrl	-	f10	f10	f6	f2	*/
    373   1.1       uch /*58	-	-	-	shift	del	f9	f5	f1	*/
    374   1.1       uch /*----------------------------------------------------------------------*/
    375   1.4  takemura /*00*/	205,	43,	25,	52,	21,	48,	44,	57,
    376   1.4  takemura /*08*/	208,	53,	24,	51,	20,	47,	30,	IGN,
    377   1.4  takemura /*10*/	203,	28,	23,	50,	19,	46,	17,	221,
    378   1.1       uch /*18*/	69,	27,	22,	49,	18,	45,	16,	58,
    379   1.1       uch /*20*/	81,	IGN,	11,	38,	7,	34,	15,	1,
    380   1.1       uch /*28*/	IGN,	39,	10,	37,	6,	33,	3,	41,
    381   1.4  takemura /*30*/	200,	26,	9,	36,	5,	32,	2,	40,
    382   1.1       uch /*38*/	12,	26,	8,	35,	4,	31,	83,	IGN,
    383   1.1       uch /*40*/	42,	IGN,	IGN,	IGN,	14,	88,	66,	62,
    384   1.1       uch /*48*/	IGN,	56,	IGN,	IGN,	125,	87,	65,	61,
    385   1.1       uch /*50*/	IGN,	IGN,	29,	IGN,	68,	68,	64,	60,
    386   1.1       uch /*58*/	IGN,	IGN,	IGN,	42,	13,	67,	63,	59,
    387   1.1       uch };
    388   1.1       uch 
    389  1.10  takemura /* NEC MobilePro 780 */
    390  1.32       uwe static uint8_t mobilepro780_keytrans[] = {
    391  1.10  takemura /*00	space	]	\	/	left	right	enter	l	*/
    392  1.10  takemura /*08	-	[	'	;	up	down	.	o	*/
    393  1.10  takemura /*10	-	-	-	Windows	v	c	x	z	*/
    394  1.10  takemura /*18	-	=	\-	`	f	d	s	a	*/
    395  1.10  takemura /*20	8	7	6	5	r	e	w	q	*/
    396  1.10  takemura /*28	,	m	n	b	-	-	0	9	*/
    397  1.10  takemura /*30	k	j	h	g	4	3	2	1	*/
    398  1.10  takemura /*38	i	u	y	t	-	caps	del	esc	*/
    399  1.10  takemura /*40	alt_R	-	-	-	BS	p	TAB	Fn	*/
    400  1.10  takemura /*48	-	alt_L	-	-	f12	f11	f10	f9	*/
    401  1.10  takemura /*50	-	-	ctrl	-	f8	f7	f6	f5	*/
    402  1.10  takemura /*58	-	-	-	shift	f4	f3	f2	f1	*/
    403  1.10  takemura /*----------------------------------------------------------------------*/
    404  1.10  takemura /*00*/	 57,	 27,	 43,	 53,	203,	205,	 28,	 38,
    405  1.10  takemura /*08*/	IGN,	 26,	 40,	 39,	200,	208,	 52,	 24,
    406  1.10  takemura /*10*/	IGN,	IGN,	IGN,	221,	 47,	 46,	 45,	 44,
    407  1.10  takemura /*18*/	IGN,	 13,	 12,	 41,	 33,	 32,	 31,	 30,
    408  1.10  takemura /*20*/	  9,	  8,	  7,	  6,	 19,	 18,	 17,	 16,
    409  1.10  takemura /*28*/	 51,	 50,	 49,	 48,	IGN,	IGN,	 11,	 10,
    410  1.10  takemura /*30*/	 37,	 36,	 35,	 34,	  5,	  4,	  3,	  2,
    411  1.10  takemura /*38*/	 23,	 22,	 21,	 20,	IGN,	 58,	 14,	  1,
    412  1.10  takemura /*40*/	184,	IGN,	IGN,	IGN,	 14,	 25,	 15,	IGN,
    413  1.10  takemura /*48*/	IGN,	 56,	IGN,	IGN,	 88,	 87,	 68,	 67,
    414  1.10  takemura /*50*/	IGN,	IGN,	 29,	IGN,	 66,	 65,	 64,	 63,
    415  1.10  takemura /*58*/	IGN,	IGN,	IGN,	 42,	 62,	 61,	 60,	 59,
    416  1.10  takemura };
    417  1.10  takemura 
    418  1.27        tv /* NEC MobilePro 8x0 */
    419  1.32       uwe static uint8_t mobilepro8x0_keytrans[] = {
    420  1.27        tv /*00	space	]	\	/	left	right	enter	l	*/
    421  1.27        tv /*08	-	[	'	;	up	down	.	o	*/
    422  1.27        tv /*10	-	-	-	Windows	v	c	x	z	*/
    423  1.27        tv /*18	-	=	\-	`	f	d	s	a	*/
    424  1.27        tv /*20	8	7	6	5	r	e	w	q	*/
    425  1.27        tv /*28	,	m	n	b	-	-	0	9	*/
    426  1.27        tv /*30	k	j	h	g	4	3	2	1	*/
    427  1.27        tv /*38	i	u	y	t	-	caps	del	esc	*/
    428  1.27        tv /*40	alt_R	-	-	-	BS	p	TAB	Fn	*/
    429  1.27        tv /*48	-	alt_L	-	-	pgdn	pgup	f10	f9	*/
    430  1.27        tv /*50	-	-	ctrl	-	f8	f7	f6	f5	*/
    431  1.27        tv /*58	-	-	-	shift	f4	f3	f2	f1	*/
    432  1.27        tv /*----------------------------------------------------------------------*/
    433  1.27        tv /*00*/	 57,	 27,	 43,	 53,	203,	205,	 28,	 38,
    434  1.27        tv /*08*/	IGN,	 26,	 40,	 39,	200,	208,	 52,	 24,
    435  1.27        tv /*10*/	IGN,	IGN,	IGN,	221,	 47,	 46,	 45,	 44,
    436  1.27        tv /*18*/	IGN,	 13,	 12,	 41,	 33,	 32,	 31,	 30,
    437  1.27        tv /*20*/	  9,	  8,	  7,	  6,	 19,	 18,	 17,	 16,
    438  1.27        tv /*28*/	 51,	 50,	 49,	 48,	IGN,	IGN,	 11,	 10,
    439  1.27        tv /*30*/	 37,	 36,	 35,	 34,	  5,	  4,	  3,	  2,
    440  1.27        tv /*38*/	 23,	 22,	 21,	 20,	IGN,	 58,	 14,	  1,
    441  1.27        tv /*40*/	184,	IGN,	IGN,	IGN,	 14,	 25,	 15,	219,
    442  1.27        tv /*48*/	IGN,	 56,	IGN,	IGN,	 81,	 73,	 68,	 67,
    443  1.27        tv /*50*/	IGN,	IGN,	 29,	IGN,	 66,	 65,	 64,	 63,
    444  1.27        tv /*58*/	IGN,	IGN,	IGN,	 42,	 62,	 61,	 60,	 59,
    445  1.27        tv };
    446  1.27        tv 
    447  1.27        tv static const keysym_t mobilepro8x0_cmdmap[] = {
    448  1.27        tv /*	pos      command		normal		shifted		*/
    449  1.27        tv 	KC(219), KS_Cmd,		KS_Meta_L,	KS_Multi_key,
    450  1.27        tv 	KC(73),  KS_Cmd_BrightnessUp,	KS_KP_Prior,	KS_KP_9,
    451  1.27        tv 	KC(81),  KS_Cmd_BrightnessDown,	KS_KP_Next,	KS_KP_3,
    452  1.27        tv 	KC(51),  KS_Cmd_ContrastDown,	KS_comma,	KS_less,
    453  1.27        tv 	KC(52),  KS_Cmd_ContrastUp,	KS_period,	KS_greater,
    454  1.27        tv 	KC(57),  KS_Cmd_BacklightToggle,KS_space,
    455  1.27        tv };
    456  1.27        tv 
    457   1.1       uch /* FUJITSU INTERTOP CX300 */
    458  1.32       uwe static uint8_t intertop_keytrans[] = {
    459   1.1       uch /*00	space   a2      1       tab     enter   caps    left    zenkaku	*/
    460   1.1       uch /*08	hiraga  a1      2       q       -       a       fnc     esc	*/
    461   1.1       uch /*10	ins     w       3       s       del     ]       down    x	*/
    462   1.1       uch /*18	z       e       4       d       a10     \       right   c	*/
    463   1.1       uch /*20	backsla r       ;       f       a9      @       ^       v	*/
    464   1.1       uch /*28	/       t       5       g       a8      p       -       b	*/
    465   1.1       uch /*30	.       y       6       h       a7      l       0       n	*/
    466   1.1       uch /*38	-       u       7       j       a5      o       bs      m	*/
    467   1.1       uch /*40	-       a3      8       a4      -       i       k       ,	*/
    468   1.1       uch /*48	num     :       9       [       a6      -       up      -	*/
    469   1.1       uch /*50	-       -       -       -       shift_L -       -       shift_R	*/
    470   1.1       uch /*58	ctrl    win     muhenka henkan  alt     -       -       -	*/
    471   1.1       uch /*----------------------------------------------------------------------*/
    472   1.4  takemura /*00*/	57,	60,	2,	15,	28,	58,	205,	41,
    473   1.1       uch /*08*/	112,	59,	3,	16,	IGN,	30,	56,	1,
    474   1.4  takemura /*10*/	210,	17,	4,	31,	83,	43,	208,	45,
    475   1.4  takemura /*18*/	44,	18,	5,	32,	68,	125,	203,	46,
    476   1.1       uch /*20*/	115,	19,	39,	33,	67,	26,	13,	47,
    477   1.1       uch /*28*/	53,	20,	6,	34,	66,	25,	12,	48,
    478   1.1       uch /*30*/	52,	21,	7,	35,	65,	38,	11,	49,
    479   1.1       uch /*38*/	IGN,	22,	8,	36,	63,	24,	14,	50,
    480   1.1       uch /*40*/	IGN,	61,	9,	62,	IGN,	23,	37,	51,
    481   1.4  takemura /*48*/	69,	40,	10,	27,	64,	IGN,	200,	IGN,
    482   1.1       uch /*50*/	IGN,	IGN,	IGN,	IGN,	42,	IGN,	IGN,	54,
    483   1.1       uch /*58*/	29,	221,	123,	121,	184,	IGN,	IGN,	IGN,
    484   1.1       uch };
    485   1.1       uch 
    486   1.1       uch /* DoCoMo sigmarion (Japan) */
    487  1.32       uwe static uint8_t sigmarion_jp_keytrans[] = {
    488   1.1       uch /*00	right	ent	p	.	y	b	z	space	*/
    489   1.1       uch /*08	down	/	o	,	t	v	a	nfer	*/
    490   1.1       uch /*10	left	\	i	m	r	c	w	menu	*/
    491   1.1       uch /*18	|	-	u	-	e	x	q	1	*/
    492   1.1       uch /*20	pgdn	h/z	0	l	:	g	tab	f1	*/
    493   1.1       uch /*28	xfer	;	9	n	5	f	2	k	*/
    494   1.1       uch /*30	up	[	8	j	4	d	6	-	*/
    495   1.1       uch /*38	-	@	7	h	3	]	s	-	*/
    496   1.1       uch /*40	caps	-	-	-	bs	fnc	f8	f3	*/
    497   1.1       uch /*48	-	alt	-	-	^	k/h	f7	f4	*/
    498   1.1       uch /*50	-	-	ctrl	-	f10	pgup	f6	f2	*/
    499   1.1       uch /*58	-	-	-	shift	del	f9	f5	esc	*/
    500   1.1       uch /*----------------------------------------------------------------------*/
    501   1.4  takemura /*00*/	205,	 28,	 25,	 52,	 21,	 48,	 44,	 57,
    502   1.4  takemura /*08*/	208,	 53,	 24,	 51,	 20,	 47,	 30,	123,
    503   1.4  takemura /*10*/	203,	115,	 23,	 50,	 19,	 46,	 17,	221,
    504   1.1       uch /*18*/	125,	IGN,	 22,	IGN,	 18,	 45,	 16,	  2,
    505   1.1       uch /*20*/	 81,	 41,	 11,	 38,	 40,	 34,	 15,	IGN,
    506   1.1       uch /*28*/	121,	 39,	 10,	 49,	  6,	 33,	  3,	 37,
    507   1.4  takemura /*30*/	200,	 27,	  9,	 36,	  5,	 32,	  7,	IGN,
    508   1.1       uch /*38*/	 12,	 26,	  8,	 35,	  4,	 43,	 31,	IGN,
    509   1.1       uch /*40*/	 58,	IGN,	IGN,	IGN,	 14,	184,	 66,	IGN,
    510   1.1       uch /*48*/	IGN,	 56,	IGN,	IGN,	 13,	112,	 65,	IGN,
    511   1.1       uch /*50*/	IGN,	IGN,	 29,	IGN,	 68,	 73,	 64,	IGN,
    512   1.1       uch /*58*/	IGN,	IGN,	IGN,	 42,	 14,	 67,	IGN,	  1,
    513   1.1       uch };
    514   1.1       uch 
    515   1.1       uch static const keysym_t sigmarion_cmdmap[] = {
    516   1.1       uch /*	pos      command		normal		shifted		*/
    517   1.1       uch 	KC(184), KS_Cmd,		KS_Alt_R,	KS_Multi_key,
    518   1.9      sato 	KC(64),  KS_Cmd_Screen0,	KS_f6,		KS_f1,
    519   1.9      sato 	KC(65),  KS_Cmd_Screen1,	KS_f7,		KS_f2,
    520   1.9      sato 	KC(66),  KS_Cmd_Screen2,	KS_f8,		KS_f3,
    521   1.9      sato 	KC(67),  KS_Cmd_Screen3,	KS_f9,		KS_f4,
    522   1.9      sato 	KC(68),  KS_Cmd_Screen4,	KS_f10,		KS_f5,
    523   1.1       uch 	KC(27),  KS_Cmd_BrightnessUp,	KS_bracketleft,	KS_braceleft,
    524   1.1       uch 	KC(43),  KS_Cmd_BrightnessDown,	KS_bracketright,KS_braceright,
    525   1.1       uch 	KC(51),  KS_Cmd_ContrastDown,	KS_comma,	KS_less,
    526   1.1       uch 	KC(52),  KS_Cmd_ContrastUp,	KS_period,	KS_greater,
    527   1.1       uch 	KC(57),  KS_Cmd_BacklightToggle,KS_space,
    528   1.1       uch };
    529   1.5  takemura 
    530   1.5  takemura /* NTT DoCoMo Pocket PostPet (Japan) */
    531  1.32       uwe static uint8_t pocketpostpet_keytrans[] = {
    532   1.5  takemura /*00	esc	1	q	a	ctrl	-	down	left	*/
    533   1.5  takemura /*08	tab	2	w	s	z	-	right	up	*/
    534   1.5  takemura /*10	pgup	3	e	d	x	shift	-	-	*/
    535   1.5  takemura /*18	pgdn	4	r	f	c	alt	-	-	*/
    536   1.5  takemura /*20	f5	5	t	g	v	nfer	-	-	*/
    537   1.5  takemura /*28	f6	6	y	h	b	-	-	-	*/
    538   1.5  takemura /*30	f7	7	u	j	n	space	-	-	*/
    539   1.5  takemura /*38	f8	8	i	k	m	-	-	-	*/
    540   1.5  takemura /*40	f9	9	o	l	,	xfer	-	-	*/
    541   1.5  takemura /*48	f10	0	p	;	.	-	-	-	*/
    542   1.5  takemura /*50	\|	minus	@	:	/	ent	-	-	*/
    543   1.5  takemura /*58	bs	^	[	]	\_	del	-	-	*/
    544   1.5  takemura /* MailCheck  -> tab	*/
    545   1.5  takemura /* Prev       -> pgup	*/
    546   1.5  takemura /* Next       -> pgdn	*/
    547   1.5  takemura /* tab        -> ctrl	*/
    548   1.5  takemura /* h/z        -> menu	*/
    549   1.5  takemura /* k/h        -> alt	*/
    550   1.5  takemura /* knj        -> nfer	*/
    551   1.5  takemura /* eng        -> xfer	*/
    552   1.5  takemura /*----------------------------------------------------------------------*/
    553   1.5  takemura /*00*/	1,	2,	16,	30,	29,	UNK,	208,	203,
    554   1.5  takemura /*08*/	15,	3,	17,	31,	44,	UNK,	205,	200,
    555   1.5  takemura /*10*/	73,	4,	18,	32,	45,	42,	UNK,	UNK,
    556   1.5  takemura /*08*/	81,	5,	19,	33,	46,	56,	UNK,	UNK,
    557   1.5  takemura /*20*/	63,	6,	20,	34,	47,	123,	UNK,	UNK,
    558   1.5  takemura /*28*/	64,	7,	21,	35,	48,	UNK,	UNK,	UNK,
    559   1.5  takemura /*30*/	65,	8,	22,	36,	49,	57,	UNK,	UNK,
    560   1.5  takemura /*38*/	66,	9,	23,	37,	50,	UNK,	UNK,	UNK,
    561   1.5  takemura /*40*/	67,	10,	24,	38,	51,	121,	UNK,	UNK,
    562   1.5  takemura /*48*/	68,	11,	25,	39,	52,	UNK,	UNK,	UNK,
    563   1.5  takemura /*50*/	125,	12,	26,	40,	53,	28,	UNK,	UNK,
    564   1.5  takemura /*58*/	14,	13,	27,	43,	115,	14,	UNK,	UNK,
    565   1.5  takemura };
    566   1.1       uch #endif /* hpcmips */
    567   1.1       uch 
    568   1.2       uch #ifdef hpcsh
    569  1.33       uwe /*
    570  1.33       uwe  * HP Jornada 680/690
    571   1.7       uch  */
    572   1.6       uch /* Japanese */
    573  1.32       uwe const uint8_t jornada6x0_jp_keytrans[] = {
    574  1.33       uwe /*      0    1    2    3    4    5    6    7 */
    575   1.2       uch /* 0 */ 59 , 45 , 31 , 17 , 3  , UNK, 29 , UNK, /* ctrl 29 */
    576   1.2       uch /* 1 */ 60 , 46 , 32 , 18 , 4  , 42 , UNK, UNK, /* shift L 42 */
    577   1.2       uch /* 2 */ 61 , 47 , 33 , 19 , 5  , UNK, 57 , UNK,
    578   1.2       uch /* 3 */ 66 , 52 , 38 , 24 , 10 , UNK, 14 , 203,
    579   1.2       uch /* 4 */ 65 , 51 , 37 , 23 , 9  , UNK, 115, UNK,
    580   1.2       uch /* 5 */ 64 , 50 , 36 , 22 , 8  , UNK, 121, UNK,
    581   1.2       uch /* 6 */ 62 , 48 , 34 , 20 , 6  , UNK, UNK, 56 , /* alt 56 */
    582   1.2       uch /* 7 */ 63 , 49 , 35 , 21 , 7  , UNK, UNK, 123,
    583   1.2       uch /* 8 */ IGN, 53 , 39 , 25 , 11 , 200, UNK, 208,
    584   1.2       uch /* 9 */ 112, 40 , 27 , 26 , 12 , 125, UNK, 205,
    585   1.2       uch /*10 */ 41 , 28 , 43 , 14 , 13 , 54 , UNK, UNK, /* shift R 54 */
    586   1.2       uch /*11 */ SPL, IGN, IGN, IGN, IGN, IGN, IGN, IGN,
    587   1.2       uch /*12 */ 1  , 44 , 30 , 16 , 2  , 15 , 221, UNK,
    588   1.2       uch /*13 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK,
    589   1.2       uch /*14 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK,
    590   1.2       uch /*15 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK,
    591   1.2       uch };
    592   1.2       uch 
    593  1.19       uwe /* US/UK - Fn to the left of the space bar and missing few keys */
    594  1.32       uwe const uint8_t jornada6x0_us_keytrans[] = {
    595  1.18       uwe /*      0    1    2    3    4    5    6    7 */
    596  1.18       uwe /* 0 */ 59 , 45 , 31 , 17 , 3  , UNK, 29 , UNK,
    597  1.18       uwe /* 1 */ 60 , 46 , 32 , 18 , 4  , 42 , UNK, UNK,
    598  1.13       uch /* 2 */ 61 , 47 , 33 , 19 , 5  , UNK, 57 , UNK,
    599  1.17       uwe /* 3 */ 66 , 52 , 38 , 24 , 10 , UNK, 211, 203,
    600  1.18       uwe /* 4 */ 65 , 51 , 37 , 23 , 9  , UNK, 53 , UNK,
    601  1.13       uch /* 5 */ 64 , 50 , 36 , 22 , 8  , UNK, UNK, UNK,
    602  1.18       uwe /* 6 */ 62 , 48 , 34 , 20 , 6  , UNK, UNK, 56 ,
    603  1.18       uwe /* 7 */ 63 , 49 , 35 , 21 , 7  , UNK, UNK, 184,
    604  1.18       uwe /* 8 */ 67 , UNK, 39 , 25 , 11 , 200, UNK, 208,
    605  1.18       uwe /* 9 */ 68 , 40 , UNK, 43 , 12 , UNK, UNK, 205,
    606  1.18       uwe /*10 */ 87 , 28 , UNK, 14 , 13 , 54 , UNK, UNK,
    607  1.13       uch /*11 */ SPL, IGN, IGN, IGN, IGN, IGN, IGN, IGN,
    608  1.17       uwe /*12 */ 1  , 44 , 30 , 16 , 2  , 15 , 219, UNK,
    609  1.13       uch /*13 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK,
    610  1.13       uch /*14 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK,
    611  1.13       uch /*15 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK,
    612  1.13       uch };
    613  1.13       uch 
    614  1.19       uwe /* International - AltGr to the right and extra keys in three middle rows */
    615  1.32       uwe const uint8_t jornada6x0_intl_keytrans[] = {
    616  1.33       uwe /*      0    1    2    3    4    5    6    7 */
    617  1.18       uwe /* 0 */ 59 , 45 , 31 , 17 , 3  , UNK, 29 , UNK,
    618  1.18       uwe /* 1 */ 60 , 46 , 32 , 18 , 4  , 42 , UNK, UNK,
    619  1.18       uwe /* 2 */ 61 , 47 , 33 , 19 , 5  , UNK, 57 , UNK,
    620  1.18       uwe /* 3 */ 66 , 52 , 38 , 24 , 10 , UNK, 211, 203,
    621  1.18       uwe /* 4 */ 65 , 51 , 37 , 23 , 9  , UNK, 184, UNK,
    622  1.18       uwe /* 5 */ 64 , 50 , 36 , 22 , 8  , UNK, UNK, UNK,
    623  1.18       uwe /* 6 */ 62 , 48 , 34 , 20 , 6  , UNK, UNK, 56 ,
    624  1.18       uwe /* 7 */ 63 , 49 , 35 , 21 , 7  , UNK, UNK, 41 ,
    625  1.18       uwe /* 8 */ 67 , 53 , 39 , 25 , 11 , 200, UNK, 208,
    626  1.18       uwe /* 9 */ 68 , 40 , 27 , 26 , 12 , UNK, UNK, 205,
    627  1.18       uwe /*10 */ 87 , 28 , 43 , 14 , 13 , 54 , UNK, UNK,
    628  1.18       uwe /*11 */ SPL, IGN, IGN, IGN, IGN, IGN, IGN, IGN,
    629  1.18       uwe /*12 */ 1  , 44 , 30 , 16 , 2  , 15 , 219, UNK,
    630   1.6       uch /*13 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK,
    631   1.6       uch /*14 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK,
    632  1.18       uwe /*15 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK,
    633   1.6       uch };
    634   1.6       uch 
    635   1.6       uch const int jornada6x0_special_keymap[] = {
    636  1.29       uch 	[KEY_SPECIAL_OFF]	= -1,
    637   1.2       uch 	[KEY_SPECIAL_LIGHT]	= -1
    638   1.2       uch };
    639   1.2       uch 
    640  1.35       uwe 
    641  1.33       uwe /*
    642   1.7       uch  * HP 620LX
    643   1.7       uch  */
    644   1.7       uch /* Japanese */
    645  1.32       uwe const uint8_t hp620lx_jp_keytrans[] = {
    646  1.33       uwe /*      0    1    2    3    4    5    6    7 */
    647   1.7       uch /* 0 */	2  , 16 , 112, UNK, IGN, UNK, 42 , 30 , /* REC button */
    648   1.7       uch /* 1 */	3  , 17 , 58 , 44 , UNK, 45 , 15 , 31 ,
    649   1.7       uch /* 2 */	4  , 18 , UNK, 56 , 59 , 46 , 1  , 32 ,
    650   1.7       uch /* 3 */	5  , 19 , UNK, UNK, 60 , 123, UNK, 33 ,
    651   1.7       uch /* 4 */	6  , 20 , 47 , 57 , 61 , 48 , UNK, 34 ,
    652   1.7       uch /* 5 */	7  , 21 , UNK, 121, 62 , 49 , UNK, 35 ,
    653   1.7       uch /* 6 */	8  , 22 , UNK, 125, 63 , 50 , UNK, 36 ,
    654   1.7       uch /* 7 */	9  , 23 , 52 , 115, 64 , 51 , UNK, 37 ,
    655   1.7       uch /* 8 */	10 , 24 , 53 , 203, 65 , 200, 39 , 38 ,
    656   1.7       uch /* 9 */	11 , 25 , 40 , 208, 66 , 205, 27 , 26 ,
    657   1.7       uch /*10 */	12 , 13 , 28 , UNK, UNK, UNK, 41 , 43 ,
    658   1.7       uch /*11 */	SPL, IGN, IGN, IGN, IGN, IGN, IGN, IGN, /* ON button */
    659   1.7       uch /*12 */	29 , IGN, IGN, IGN, IGN, IGN, IGN, IGN,
    660   1.7       uch /*13 */	14 , IGN, IGN, IGN, IGN, IGN, IGN, IGN,
    661   1.7       uch /*14 */	UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK,
    662   1.7       uch /*15 */	SPL, IGN, IGN, IGN, IGN, IGN, IGN, IGN  /* LED button */
    663   1.7       uch };
    664   1.7       uch 
    665  1.35       uwe /* Other models */
    666  1.35       uwe const uint8_t hp620lx_intl_keytrans[] = {
    667  1.35       uwe /*      0    1    2    3    4    5    6    7 */
    668  1.35       uwe /* 0 */	2  , 16 , 219, UNK, IGN, UNK, 42 , 30 , /* REC button */
    669  1.35       uwe /* 1 */	3  , 17 , 15 , 44 , UNK, 45 , 41 , 31 ,
    670  1.35       uwe /* 2 */	4  , 18 , UNK, 69 , 59 , 46 , 1  , 32 ,
    671  1.35       uwe /* 3 */	5  , 19 , UNK, UNK, 60 , 56 , UNK, 33 ,
    672  1.35       uwe /* 4 */	6  , 20 , 47 , 57 , 61 , 48 , UNK, 34 ,
    673  1.35       uwe /* 5 */	7  , 21 , UNK, UNK, 62 , 49 , UNK, 35 ,
    674  1.35       uwe /* 6 */	8  , 22 , UNK, 184, 63 , 50 , UNK, 36 ,
    675  1.35       uwe /* 7 */	9  , 23 , 52 , 211, 64 , 51 , UNK, 37 ,
    676  1.35       uwe /* 8 */	10 , 24 , 53 , 203, 65 , 200, 39 , 38 ,
    677  1.35       uwe /* 9 */	11 , 25 , 40 , 208, 66 , 205, 27 , 26 ,
    678  1.35       uwe /*10 */	12 , 13 , 28 , UNK, UNK, UNK, 54 , 43 ,
    679  1.35       uwe /*11 */	SPL, IGN, IGN, IGN, IGN, IGN, IGN, IGN, /* ON button */
    680  1.35       uwe /*12 */	29 , IGN, IGN, IGN, IGN, IGN, IGN, IGN,
    681  1.35       uwe /*13 */	14 , IGN, IGN, IGN, IGN, IGN, IGN, IGN,
    682  1.35       uwe /*14 */	UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK,
    683  1.35       uwe /*15 */	SPL, IGN, IGN, IGN, IGN, IGN, IGN, IGN  /* LED button */
    684  1.35       uwe };
    685  1.35       uwe 
    686   1.7       uch const int hp620lx_special_keymap[] = {
    687  1.44     peter 	[KEY_SPECIAL_OFF]	= -1,	/* 88 */
    688   1.7       uch 	[KEY_SPECIAL_LIGHT]	= 120
    689   1.7       uch };
    690   1.7       uch 
    691  1.35       uwe 
    692  1.33       uwe /*
    693  1.11       uch  * HITACHI PERSONA HPW50PAD
    694  1.11       uch  */
    695  1.11       uch /* Japanese */
    696  1.32       uwe const uint8_t persona_hpw50pad_jp_keytrans[] = {
    697  1.33       uwe /*      0    1    2    3    4    5    6    7 */
    698  1.31       uwe /* 0 */ 59 , 61 , 63 , 65 , 67 , SPL, UNK, UNK, /* ON button */
    699  1.31       uwe /* 1 */ 29 , UNK, 47 , 48 , 121, UNK, UNK, UNK,
    700  1.31       uwe /* 2 */  1 , UNK, 34 , 51 , 112, UNK, UNK, UNK,
    701  1.31       uwe /* 3 */ 41 , 221, 35 , 37 , 52 , UNK, UNK, UNK,
    702  1.31       uwe /* 4 */ 45 , 58 , 22 , 38 , 40 , 42 , UNK, UNK,
    703  1.31       uwe /* 5 */ 30 , 16 , 21 , 24 , 28 , 54 , UNK, UNK,
    704  1.31       uwe /* 6 */ 17 ,  4 , UNK, 10 , 12 , 205, UNK, UNK,
    705  1.31       uwe /* 7 */ 31 , 18 ,  7 , 25 , 13 , 83 , UNK, UNK,
    706  1.37  kiyohara /* 8 */ 60 , 62 , 64 , 66 , 68 , UNK, UNK, UNK,
    707  1.31       uwe /* 9 */ UNK, 123, 49 , 53 , 203, UNK, UNK, UNK,
    708  1.31       uwe /*10 */ 56 , 46 , 50 , 57 , 208, UNK, UNK, UNK,
    709  1.31       uwe /*11 */ 15 , 33 , 36 , 39 , 43 , UNK, UNK, UNK,
    710  1.31       uwe /*12 */ 44 , 20 , 23 , 26 , 27 , UNK, UNK, UNK,
    711  1.31       uwe /*13 */  2 ,  6 ,  9 , 115, 200, UNK, UNK, UNK,
    712  1.31       uwe /*14 */  3 ,  5 , UNK, UNK, 125, UNK, UNK, UNK,
    713  1.31       uwe /*15 */ 32 , 19 ,  8 , 11 , 14 , UNK, UNK, UNK,
    714  1.11       uch };
    715  1.11       uch 
    716  1.11       uch const int persona_hpw50pad_special_keymap[] = {
    717  1.47  kiyohara 	[KEY_SPECIAL_OFF]	= 5,
    718  1.11       uch 	[KEY_SPECIAL_LIGHT]	= -1
    719  1.11       uch };
    720  1.11       uch 
    721  1.37  kiyohara static const keysym_t persona_hpw50pad_jp_keydesc[] = {
    722  1.37  kiyohara /*	pos	command			normal		shifted		*/
    723  1.37  kiyohara 	KC(63),	KS_Cmd_ContrastDown,	KS_f5,
    724  1.37  kiyohara 	KC(64),	KS_Cmd_ContrastUp,	KS_f6,
    725  1.37  kiyohara 	KC(65),	KS_Cmd_BrightnessDown,	KS_f7,
    726  1.37  kiyohara 	KC(66),	KS_Cmd_BrightnessUp,	KS_f8,
    727  1.37  kiyohara 
    728  1.37  kiyohara 	KC(200),KS_Cmd_ScrollFastUp,	KS_Up,
    729  1.37  kiyohara 	KC(208),KS_Cmd_ScrollFastDown,	KS_Down,
    730  1.37  kiyohara 	KC(203),KS_KP_Home,		KS_Left,
    731  1.37  kiyohara 	KC(205),KS_KP_End,		KS_Right,
    732  1.37  kiyohara };
    733  1.37  kiyohara 
    734  1.28       uch /*
    735  1.28       uch  * HITACHI PERSONA HPW200EC
    736  1.28       uch */
    737  1.28       uch /* US */
    738  1.32       uwe const uint8_t persona_hpw200ec_keytrans[] = {
    739  1.33       uwe /*      0    1    2    3    4    5    6    7 */
    740  1.34       uwe /* 0 */  3 ,  2 , 71 , 69 , 67 , SPL, UNK, UNK,
    741  1.34       uwe /* 1 */ 11 , UNK, 79 , 77 , 75 , UNK, UNK, UNK,
    742  1.34       uwe /* 2 */ 19 , UNK, UNK, 85 , 83 , UNK, UNK, UNK,
    743  1.34       uwe /* 3 */ 27 , 26 , 95 , 93 , 91 , UNK, UNK, UNK,
    744  1.34       uwe /* 4 */ 35 , 34 , 103, 101, 99 , 32 , UNK, UNK,
    745  1.34       uwe /* 5 */ 43 , 42 , 111, 109, 107, 40 , UNK, UNK,
    746  1.34       uwe /* 6 */ 51 , 50 , 119, 117, 115, 48 , UNK, UNK,
    747  1.34       uwe /* 7 */ 59 , 58 , UNK, UNK, 123, 56 , UNK, UNK,
    748  1.34       uwe /* 8 */  5 ,  6 , 70 , 68 , 66 , UNK, UNK, UNK,
    749  1.34       uwe /* 9 */ UNK, UNK, 78 , 76 , 74 , UNK, UNK, UNK,
    750  1.34       uwe /*10 */ 21 , UNK, UNK, 84 , 82 , UNK, UNK, UNK,
    751  1.34       uwe /*11 */ 29 , 30 , 94 , 92 , 90 , UNK, UNK, UNK,
    752  1.34       uwe /*12 */ UNK, 26 , 102, 100, 98 , UNK, UNK, UNK,
    753  1.34       uwe /*13 */ UNK, 46 , 110, 108, 106, 104, UNK, UNK,
    754  1.34       uwe /*14 */ 53 , 54 , 118, 124, 114, UNK, UNK, UNK,
    755  1.34       uwe /*15 */ 61 , 62 , 126, UNK, 122, UNK, UNK, UNK,
    756  1.28       uch };
    757  1.28       uch 
    758  1.28       uch const int persona_hpw200ec_special_keymap[] = {
    759  1.47  kiyohara 	[KEY_SPECIAL_OFF]	= 5,
    760  1.28       uch 	[KEY_SPECIAL_LIGHT]	= -1
    761  1.28       uch };
    762  1.28       uch 
    763   1.2       uch #endif /* hpcsh */
    764   1.2       uch 
    765  1.39     peter #ifdef hpcarm
    766  1.39     peter /*
    767  1.39     peter  * HP Jornada 710/720/728
    768  1.39     peter  */
    769  1.39     peter 
    770  1.39     peter /* Japanese */
    771  1.39     peter const uint8_t jornada7xx_jp_keytrans[] = {
    772  1.39     peter /* 00 */ UNK,  1 , 59 , 60 , 61 , 62 , 63 , 64 ,
    773  1.43     peter /* 08 */ 65 , 66 , 67 , 112, 41 , IGN, IGN, IGN,
    774  1.39     peter /* 10 */ UNK,  2 ,  3 ,  4 ,  5 ,  6 ,  7 ,  8 ,
    775  1.39     peter /* 18 */  9 , 10 , 11 , 12 , 13 , UNK, UNK, UNK,
    776  1.39     peter /* 20 */ UNK, 16 , 17 , 18 , 19 , 20 , 21 , 22 ,
    777  1.39     peter /* 28 */  23, 24 , 25 , 26 , UNK, UNK, UNK, UNK,
    778  1.39     peter /* 30 */ UNK, 30 , 31 , 32 , 33 , 34 , 35 , 36 ,
    779  1.39     peter /* 38 */  37, 38 , 39 , 27 , 43 , UNK, UNK, UNK,
    780  1.39     peter /* 40 */ UNK, 44 , 45 , 46 , 47 , 48 , 49 , 50 ,
    781  1.39     peter /* 48 */  51, 52 , 53 , 40 , 28 , UNK, UNK, UNK,
    782  1.39     peter /* 50 */ UNK, 15 , UNK, 42 , UNK, UNK, UNK, UNK,
    783  1.39     peter /* 58 */ UNK, UNK, 200, 125, 54 , UNK, UNK, UNK,
    784  1.39     peter /* 60 */ UNK, UNK, UNK, UNK, UNK, 56 , 123, UNK,
    785  1.39     peter /* 68 */ UNK, 203, 208, 205, UNK, UNK, UNK, UNK,
    786  1.42     peter /* 70 */ UNK, 184, 29 , UNK, 57 , UNK, UNK, 121,
    787  1.39     peter /* 78 */ 53 , 14 , UNK, UNK, UNK, UNK, UNK, SPL,
    788  1.39     peter };
    789  1.39     peter 
    790  1.39     peter /* US/UK - Fn to the left of the space bar and missing few keys */
    791  1.39     peter const uint8_t jornada7xx_us_keytrans[] = {
    792  1.39     peter /* 00 */ UNK,  1 , 59 , 60 , 61 , 62 , 63 , 64 ,
    793  1.43     peter /* 08 */ 65 , 66 , 67 , 68 , 87 , IGN, IGN, IGN,
    794  1.39     peter /* 10 */ UNK,  2 ,  3 ,  4 ,  5 ,  6 ,  7 ,  8 ,
    795  1.39     peter /* 18 */  9 , 10 , 11 , 12 , 13 , UNK, UNK, UNK,
    796  1.39     peter /* 20 */ UNK, 16 , 17 , 18 , 19 , 20 , 21 , 22 ,
    797  1.39     peter /* 28 */  23, 24 , 25 , 43 , 14 , UNK, UNK, UNK,
    798  1.39     peter /* 30 */ UNK, 30 , 31 , 32 , 33 , 34 , 35 , 36 ,
    799  1.39     peter /* 38 */  37, 38 , 39 , 40 , UNK, UNK, UNK, UNK,
    800  1.39     peter /* 40 */ UNK, 44 , 45 , 46 , 47 , 48 , 49 , 50 ,
    801  1.39     peter /* 48 */  51, 52 , UNK, 40 , 28 , UNK, UNK, UNK,
    802  1.39     peter /* 50 */ UNK, 15 , UNK, 42 , UNK, UNK, UNK, UNK,
    803  1.39     peter /* 58 */ UNK, UNK, 200, UNK, 54 , UNK, UNK, UNK,
    804  1.42     peter /* 60 */ UNK, UNK, UNK, UNK, UNK, 56 , 184, UNK,
    805  1.39     peter /* 68 */ UNK, 203, 208, 205, UNK, UNK, UNK, UNK,
    806  1.40     peter /* 70 */ UNK, 221, 29 , UNK, 57 , UNK, UNK, UNK,
    807  1.39     peter /* 78 */ 53 , 14 , UNK, UNK, UNK, UNK, UNK, SPL,
    808  1.39     peter };
    809  1.39     peter 
    810  1.39     peter /* International - AltGr to the right and extra keys in three middle rows */
    811  1.39     peter const uint8_t jornada7xx_intl_keytrans[] = {
    812  1.39     peter /* 00 */ UNK,  1 , 59 , 60 , 61 , 62 , 63 , 64 ,
    813  1.43     peter /* 08 */ 65 , 66 , 67 , 68 , 87 , IGN, IGN, IGN,
    814  1.39     peter /* 10 */ UNK,  2 ,  3 ,  4 ,  5 ,  6 ,  7 ,  8 ,
    815  1.39     peter /* 18 */  9 , 10 , 11 , 12 , 13 , UNK, UNK, UNK,
    816  1.39     peter /* 20 */ UNK, 16 , 17 , 18 , 19 , 20 , 21 , 22 ,
    817  1.39     peter /* 28 */  23, 24 , 25 , 26 , 14 , UNK, UNK, UNK,
    818  1.39     peter /* 30 */ UNK, 30 , 31 , 32 , 33 , 34 , 35 , 36 ,
    819  1.39     peter /* 38 */  37, 38 , 39 , 27 , 43 , UNK, UNK, UNK,
    820  1.39     peter /* 40 */ UNK, 44 , 45 , 46 , 47 , 48 , 49 , 50 ,
    821  1.39     peter /* 48 */  51, 52 , 53 , 40 , 28 , UNK, UNK, UNK,
    822  1.39     peter /* 50 */ UNK, 15 , UNK, 42 , UNK, UNK, UNK, UNK,
    823  1.39     peter /* 58 */ UNK, UNK, 200, UNK, 54 , UNK, UNK, UNK,
    824  1.39     peter /* 60 */ UNK, UNK, UNK, UNK, UNK, 56 , 41 , UNK,
    825  1.39     peter /* 68 */ UNK, 203, 208, 205, UNK, UNK, UNK, UNK,
    826  1.39     peter /* 70 */ UNK, 221, 29 , UNK, 57 , UNK, UNK, UNK,
    827  1.42     peter /* 78 */ 184, 211, UNK, UNK, UNK, UNK, UNK, SPL,
    828  1.39     peter };
    829  1.39     peter 
    830  1.39     peter const int jornada7xx_special_keymap[] = {
    831  1.45     peter 	[KEY_SPECIAL_OFF]	= 127,
    832  1.45     peter 	[KEY_SPECIAL_LIGHT]	= -1
    833  1.39     peter };
    834  1.49    nonaka 
    835  1.49    nonaka /*
    836  1.49    nonaka  * Sharp W-ZERO3 series
    837  1.49    nonaka  */
    838  1.49    nonaka /*
    839  1.49    nonaka  * WS003SH/WS004SH/WS007SH keyscan map
    840  1.49    nonaka 	CTRL	(none)	TAB	(none)	CALL	MAIL	IE
    841  1.49    nonaka 	1	2	q	w	a	z	MOJI
    842  1.49    nonaka 	3	4	e	s	d	x	(none)
    843  1.49    nonaka 	5	r	t	f	c	-	OK
    844  1.49    nonaka 	6	y	g	v	b	SPACE	ACTION
    845  1.49    nonaka 	7	8	u	h	n	/	,
    846  1.49    nonaka 	9	i	j	m	.	(none)	LEFT
    847  1.49    nonaka 	0	o	k	l	(none)	UP	DOWN
    848  1.49    nonaka 	BS	p	(none)	(none)	ENTER	(none)	RIGHT
    849  1.49    nonaka 	(none)	(none)	(none)	(none)	(none)	(none)	(none)
    850  1.49    nonaka 	ROTATE	VOL-	(none)	SHIFT	WIN	LSOFT	RSOFT
    851  1.49    nonaka 	CAMERA	VOL+	(none)	(none)	(none)	FN	(none)
    852  1.49    nonaka */
    853  1.49    nonaka /* Japanese */
    854  1.49    nonaka const uint8_t ws003sh_jp_keytrans[] = {
    855  1.49    nonaka /*	row#0,	row#1,	row#2,	row#3,	row#4,	row#5,	row#6,	*/
    856  1.49    nonaka /*00*/	29,	UNK,	15,	UNK,	IGN,	IGN,	IGN,
    857  1.49    nonaka /*01*/	2,	3,	16,	17,	30,	44,	1,
    858  1.49    nonaka /*02*/	4,	5,	18,	31,	32,	45,	UNK,
    859  1.49    nonaka /*03*/	6,	19,	20,	33,	46,	12,	28,
    860  1.49    nonaka /*04*/	7,	21,	34,	47,	48,	57,	28,
    861  1.49    nonaka /*05*/	8,	9,	22,	35,	49,	53,	51,
    862  1.49    nonaka /*06*/	10,	23,	36,	50,	52,	UNK,	203,
    863  1.49    nonaka /*07*/	11,	24,	37,	38,	UNK,	200,	208,
    864  1.49    nonaka /*08*/	14,	25,	UNK,	UNK,	28,	UNK,	205,
    865  1.49    nonaka /*09*/	UNK,	UNK,	UNK,	UNK,	UNK,	UNK,	UNK,
    866  1.49    nonaka /*10*/	IGN,	174,	UNK,	42,	IGN,	IGN,	IGN,
    867  1.49    nonaka /*11*/	IGN,	176,	UNK,	UNK,	UNK,	184,	SPL,
    868  1.49    nonaka };
    869  1.49    nonaka 
    870  1.49    nonaka const int ws003sh_special_keymap[] = {
    871  1.49    nonaka 	[KEY_SPECIAL_OFF]	= 83,
    872  1.49    nonaka 	[KEY_SPECIAL_LIGHT]	= -1
    873  1.49    nonaka };
    874  1.49    nonaka 
    875  1.49    nonaka static const keysym_t ws003sh_jp_keydesc[] = {
    876  1.49    nonaka /*  pos		normal		shifted		altgr	*/
    877  1.49    nonaka     KC(4),	KS_3,		KS_numbersign,	KS_Cmd_BrightnessDown,
    878  1.49    nonaka     KC(5),	KS_4,		KS_dollar,	KS_Cmd_BrightnessUp,
    879  1.49    nonaka     KC(8),	KS_7,		KS_apostrophe,	KS_grave,
    880  1.49    nonaka     KC(9),	KS_8,		KS_parenleft,	KS_braceleft,
    881  1.49    nonaka     KC(10),	KS_9,		KS_parenright,	KS_braceright,
    882  1.49    nonaka     KC(12),	KS_minus,	KS_equal,	KS_backslash,
    883  1.49    nonaka     KC(14),	KS_Delete,	KS_Delete,	KS_BackSpace,
    884  1.49    nonaka     KC(15),	KS_Tab,		KS_Tab,		KS_Escape,
    885  1.49    nonaka     KC(17),	KS_w,		KS_W,		KS_asciicircum,
    886  1.49    nonaka     KC(18),	KS_e,		KS_E,		KS_asciitilde,
    887  1.49    nonaka     KC(19),	KS_r,		KS_R,		KS_bar,
    888  1.49    nonaka     KC(22),	KS_u,		KS_U,		KS_bracketleft,
    889  1.49    nonaka     KC(23),	KS_i,		KS_I,		KS_bracketright,
    890  1.49    nonaka     KC(24),	KS_o,		KS_O,		KS_underscore,
    891  1.49    nonaka     KC(25),	KS_p,		KS_P,		KS_at,
    892  1.49    nonaka     KC(37),	KS_k,		KS_K,		KS_plus,
    893  1.49    nonaka     KC(38),	KS_l,		KS_L,		KS_asterisk,
    894  1.49    nonaka     KC(42),	KS_Shift_L,	KS_Shift_L,	KS_Shift_Lock,
    895  1.49    nonaka     KC(51),	KS_comma,	KS_semicolon,	KS_less,
    896  1.49    nonaka     KC(52),	KS_period,	KS_colon,	KS_greater,
    897  1.49    nonaka     KC(184),	KS_Mode_switch,	KS_Multi_key,
    898  1.49    nonaka     KC(200),	KS_Up,		KS_Up,		KS_Prior,
    899  1.49    nonaka     KC(203),	KS_Left,	KS_Left,	KS_Home,
    900  1.49    nonaka     KC(205),	KS_Right,	KS_Right,	KS_End,
    901  1.49    nonaka     KC(208),	KS_Down,	KS_Down,	KS_Next,
    902  1.49    nonaka };
    903  1.49    nonaka 
    904  1.49    nonaka /*
    905  1.50    nonaka  * WS011SH keyscan map
    906  1.49    nonaka 	Ctrl	(none)	Tab	(none)	(none)	(none)	(none)
    907  1.49    nonaka 	(none)	(none)	Q	W	A	Z	MOJI
    908  1.49    nonaka 	(none)	(none)	E	S	D	X	HAN/ZEN
    909  1.49    nonaka 	(none)	R	T	F	C	-	OK
    910  1.49    nonaka 	(none)	Y	G	V	B	Space	(none)
    911  1.49    nonaka 	(none)	(none)	U	H	N	/	,
    912  1.49    nonaka 	(none)	I	J	M	.	(none)	LEFT
    913  1.49    nonaka 	(none)	O	K	L	(none)	UP	DOWN
    914  1.50    nonaka 	Del	P	(none)	(none)	Enter	(none)	RIGHT
    915  1.49    nonaka 	(none)	(none)	(none)	(none)	(none)	(none)	(none)
    916  1.49    nonaka 	ROTATE	(none)	(none)	SHIFT	(none)	(none)	(none)
    917  1.49    nonaka 	(none)	(none)	(none)	(none)	(none)	FN	(none)
    918  1.49    nonaka */
    919  1.49    nonaka /* Japanese */
    920  1.49    nonaka const uint8_t ws011sh_jp_keytrans[] = {
    921  1.49    nonaka /*	row#0,	row#1,	row#2,	row#3,	row#4,	row#5,	row#6,	*/
    922  1.49    nonaka /*00*/	29,	UNK,	15,	UNK,	UNK,	UNK,	UNK,
    923  1.49    nonaka /*01*/	UNK,	UNK,	16,	17,	30,	44,	1,
    924  1.49    nonaka /*02*/	UNK,	UNK,	18,	31,	32,	45,	41,
    925  1.49    nonaka /*03*/	UNK,	19,	20,	33,	46,	12,	3,
    926  1.49    nonaka /*04*/	UNK,	21,	34,	47,	48,	57,	UNK,
    927  1.49    nonaka /*05*/	UNK,	UNK,	22,	35,	49,	53,	51,
    928  1.49    nonaka /*06*/	UNK,	23,	36,	50,	52,	UNK,	203,
    929  1.49    nonaka /*07*/	UNK,	24,	37,	38,	UNK,	200,	208,
    930  1.49    nonaka /*08*/	14,	25,	UNK,	UNK,	28,	UNK,	205,
    931  1.49    nonaka /*09*/	UNK,	UNK,	UNK,	UNK,	UNK,	UNK,	UNK,
    932  1.49    nonaka /*10*/	IGN,	UNK,	UNK,	42,	UNK,	UNK,	UNK,
    933  1.49    nonaka /*11*/	UNK,	UNK,	UNK,	UNK,	UNK,	184,	SPL,
    934  1.49    nonaka };
    935  1.49    nonaka 
    936  1.49    nonaka const int ws011sh_special_keymap[] = {
    937  1.49    nonaka 	[KEY_SPECIAL_OFF]	= 83,
    938  1.49    nonaka 	[KEY_SPECIAL_LIGHT]	= -1
    939  1.49    nonaka };
    940  1.49    nonaka 
    941  1.49    nonaka static const keysym_t ws011sh_jp_keydesc[] = {
    942  1.49    nonaka /*  pos		normal		shifted		altgr	*/
    943  1.49    nonaka     KC(3),	KS_grave,	KS_braceleft,	KS_braceright,
    944  1.49    nonaka     KC(12),	KS_minus,	KS_equal,	KS_backslash,
    945  1.49    nonaka     KC(14),	KS_Delete,	KS_Delete,	KS_BackSpace,
    946  1.49    nonaka     KC(15),	KS_Tab,		KS_Tab,		KS_Escape,
    947  1.49    nonaka     KC(16),	KS_q,		KS_Q,		KS_quotedbl,
    948  1.49    nonaka     KC(17),	KS_w,		KS_W,		KS_numbersign,
    949  1.49    nonaka     KC(18),	KS_e,		KS_E,		KS_dollar,
    950  1.49    nonaka     KC(19),	KS_r,		KS_R,		KS_percent,
    951  1.49    nonaka     KC(20),	KS_t,		KS_T,		KS_ampersand,
    952  1.49    nonaka     KC(21),	KS_y,		KS_Y,		KS_1,
    953  1.49    nonaka     KC(22),	KS_u,		KS_U,		KS_2,
    954  1.49    nonaka     KC(23),	KS_i,		KS_I,		KS_3,
    955  1.49    nonaka     KC(24),	KS_o,		KS_O,		KS_underscore,
    956  1.49    nonaka     KC(25),	KS_p,		KS_P,		KS_at,
    957  1.49    nonaka     KC(30),	KS_a,		KS_A,		KS_bracketleft,
    958  1.49    nonaka     KC(31),	KS_s,		KS_S,		KS_apostrophe,
    959  1.49    nonaka     KC(32),	KS_d,		KS_D,		KS_parenleft,
    960  1.49    nonaka     KC(33),	KS_f,		KS_F,		KS_parenright,
    961  1.49    nonaka     KC(34),	KS_g,		KS_G,		KS_asterisk,
    962  1.49    nonaka     KC(35),	KS_h,		KS_H,		KS_4,
    963  1.49    nonaka     KC(36),	KS_j,		KS_J,		KS_5,
    964  1.49    nonaka     KC(37),	KS_k,		KS_K,		KS_6,
    965  1.49    nonaka     KC(38),	KS_l,		KS_L,		KS_plus,
    966  1.49    nonaka     KC(41),	KS_Zenkaku_Hankaku, KS_Zenkaku_Hankaku, KS_exclam,
    967  1.49    nonaka     KC(42),	KS_Shift_L,	KS_Shift_L,	KS_Shift_Lock,
    968  1.49    nonaka     KC(44),	KS_z,		KS_Z,		KS_bracketright,
    969  1.49    nonaka     KC(45),	KS_x,		KS_X,		KS_asciicircum,
    970  1.49    nonaka     KC(46),	KS_c,		KS_C,		KS_asciitilde,
    971  1.49    nonaka     KC(47),	KS_v,		KS_V,		KS_bar,
    972  1.49    nonaka     KC(48),	KS_b,		KS_B,		KS_7,
    973  1.49    nonaka     KC(49),	KS_n,		KS_N,		KS_8,
    974  1.49    nonaka     KC(50),	KS_m,		KS_M,		KS_9,
    975  1.49    nonaka     KC(51),	KS_comma,	KS_less,	KS_semicolon,
    976  1.49    nonaka     KC(52),	KS_period,	KS_greater,	KS_colon,
    977  1.49    nonaka     KC(53),	KS_slash,	KS_question,	KS_0,
    978  1.49    nonaka     KC(57),	KS_space,
    979  1.49    nonaka     KC(184),	KS_Mode_switch,	KS_Multi_key,
    980  1.49    nonaka     KC(200),	KS_Up,		KS_Up,		KS_Prior,
    981  1.49    nonaka     KC(203),	KS_Left,	KS_Left,	KS_Home,
    982  1.49    nonaka     KC(205),	KS_Right,	KS_Right,	KS_End,
    983  1.49    nonaka     KC(208),	KS_Down,	KS_Down,	KS_Next,
    984  1.49    nonaka };
    985  1.50    nonaka 
    986  1.50    nonaka /*
    987  1.50    nonaka  * WS020SH keyscan map
    988  1.50    nonaka 	Ctrl	(none)	Tab	(none)	(none)	(none)	(none)
    989  1.50    nonaka 	(none)	(none)	Q	W	A	Z	MOJI
    990  1.50    nonaka 	(none)	(none)	E	S	D	X	HAN/ZEN
    991  1.50    nonaka 	(none)	R	T	F	C	-	OK
    992  1.50    nonaka 	(none)	Y	G	V	B	Space	(none)
    993  1.50    nonaka 	(none)	(none)	U	H	N	/	,
    994  1.50    nonaka 	(none)	I	J	M	.	(none)	LEFT
    995  1.50    nonaka 	(none)	O	K	L	(none)	UP	(none)
    996  1.50    nonaka 	Del	P	(none)	(none)	Enter	(none)	RIGHT
    997  1.50    nonaka 	(none)	(none)	(none)	(none)	(none)	DOWN	(none)
    998  1.50    nonaka 	ROTATE	MEDIA	(none)	LSHIFT	RSHIFT	(none)	(none)
    999  1.50    nonaka 	(none)	(none)	(none)	(none)	(none)	FN	(none)
   1000  1.50    nonaka */
   1001  1.50    nonaka /* Japanese */
   1002  1.50    nonaka const uint8_t ws020sh_jp_keytrans[] = {
   1003  1.50    nonaka /*	row#0,	row#1,	row#2,	row#3,	row#4,	row#5,	row#6,	*/
   1004  1.50    nonaka /*00*/	29,	UNK,	15,	UNK,	UNK,	UNK,	UNK,
   1005  1.50    nonaka /*01*/	UNK,	UNK,	16,	17,	30,	44,	1,
   1006  1.50    nonaka /*02*/	UNK,	UNK,	18,	31,	32,	45,	41,
   1007  1.50    nonaka /*03*/	UNK,	19,	20,	33,	46,	12,	3,
   1008  1.50    nonaka /*04*/	UNK,	21,	34,	47,	48,	57,	UNK,
   1009  1.50    nonaka /*05*/	UNK,	UNK,	22,	35,	49,	53,	51,
   1010  1.50    nonaka /*06*/	UNK,	23,	36,	50,	52,	UNK,	203,
   1011  1.50    nonaka /*07*/	UNK,	24,	37,	38,	UNK,	200,	UNK,
   1012  1.50    nonaka /*08*/	14,	25,	UNK,	UNK,	28,	UNK,	205,
   1013  1.50    nonaka /*09*/	UNK,	UNK,	UNK,	UNK,	UNK,	208,	UNK,
   1014  1.50    nonaka /*10*/	IGN,	IGN,	UNK,	42,	54,	UNK,	UNK,
   1015  1.50    nonaka /*11*/	UNK,	UNK,	UNK,	UNK,	UNK,	184,	SPL,
   1016  1.50    nonaka };
   1017  1.50    nonaka 
   1018  1.50    nonaka const int ws020sh_special_keymap[] = {
   1019  1.50    nonaka 	[KEY_SPECIAL_OFF]	= 83,
   1020  1.50    nonaka 	[KEY_SPECIAL_LIGHT]	= -1
   1021  1.50    nonaka };
   1022  1.50    nonaka 
   1023  1.50    nonaka static const keysym_t ws020sh_jp_keydesc[] = {
   1024  1.50    nonaka /*  pos		normal		shifted		altgr	*/
   1025  1.50    nonaka     KC(3),	KS_grave,	KS_braceleft,	KS_braceright,
   1026  1.50    nonaka     KC(12),	KS_minus,	KS_equal,	KS_backslash,
   1027  1.50    nonaka     KC(14),	KS_Delete,	KS_Delete,	KS_BackSpace,
   1028  1.50    nonaka     KC(15),	KS_Tab,		KS_Tab,		KS_Escape,
   1029  1.50    nonaka     KC(16),	KS_q,		KS_Q,		KS_quotedbl,
   1030  1.50    nonaka     KC(17),	KS_w,		KS_W,		KS_numbersign,
   1031  1.50    nonaka     KC(18),	KS_e,		KS_E,		KS_dollar,
   1032  1.50    nonaka     KC(19),	KS_r,		KS_R,		KS_percent,
   1033  1.50    nonaka     KC(20),	KS_t,		KS_T,		KS_ampersand,
   1034  1.50    nonaka     KC(21),	KS_y,		KS_Y,		KS_underscore,
   1035  1.50    nonaka     KC(22),	KS_u,		KS_U,		KS_1,
   1036  1.50    nonaka     KC(23),	KS_i,		KS_I,		KS_2,
   1037  1.50    nonaka     KC(24),	KS_o,		KS_O,		KS_3,
   1038  1.50    nonaka     KC(25),	KS_p,		KS_P,		KS_at,
   1039  1.50    nonaka     KC(30),	KS_a,		KS_A,		KS_bracketleft,
   1040  1.50    nonaka     KC(31),	KS_s,		KS_S,		KS_apostrophe,
   1041  1.50    nonaka     KC(32),	KS_d,		KS_D,		KS_parenleft,
   1042  1.50    nonaka     KC(33),	KS_f,		KS_F,		KS_parenright,
   1043  1.50    nonaka     KC(34),	KS_g,		KS_G,		KS_asterisk,
   1044  1.50    nonaka     KC(35),	KS_h,		KS_H,		KS_4,
   1045  1.50    nonaka     KC(36),	KS_j,		KS_J,		KS_5,
   1046  1.50    nonaka     KC(37),	KS_k,		KS_K,		KS_6,
   1047  1.50    nonaka     KC(38),	KS_l,		KS_L,		KS_plus,
   1048  1.50    nonaka     KC(41),	KS_Zenkaku_Hankaku, KS_Zenkaku_Hankaku, KS_exclam,
   1049  1.50    nonaka     KC(42),	KS_Shift_L,	KS_Shift_L,	KS_Shift_Lock,
   1050  1.50    nonaka     KC(44),	KS_z,		KS_Z,		KS_bracketright,
   1051  1.50    nonaka     KC(45),	KS_x,		KS_X,		KS_asciicircum,
   1052  1.50    nonaka     KC(46),	KS_c,		KS_C,		KS_asciitilde,
   1053  1.50    nonaka     KC(47),	KS_v,		KS_V,		KS_bar,
   1054  1.50    nonaka     KC(48),	KS_b,		KS_B,		KS_7,
   1055  1.50    nonaka     KC(49),	KS_n,		KS_N,		KS_8,
   1056  1.50    nonaka     KC(50),	KS_m,		KS_M,		KS_9,
   1057  1.50    nonaka     KC(51),	KS_comma,	KS_less,	KS_semicolon,
   1058  1.50    nonaka     KC(52),	KS_period,	KS_greater,	KS_colon,
   1059  1.50    nonaka     KC(53),	KS_slash,	KS_question,	KS_0,
   1060  1.50    nonaka     KC(54),	KS_Shift_R,	KS_Shift_R,	KS_Shift_Lock,
   1061  1.50    nonaka     KC(57),	KS_space,
   1062  1.50    nonaka     KC(184),	KS_Mode_switch,	KS_Multi_key,
   1063  1.50    nonaka     KC(200),	KS_Up,		KS_Up,		KS_Prior,
   1064  1.50    nonaka     KC(203),	KS_Left,	KS_Left,	KS_Home,
   1065  1.50    nonaka     KC(205),	KS_Right,	KS_Right,	KS_End,
   1066  1.50    nonaka     KC(208),	KS_Down,	KS_Down,	KS_Next,
   1067  1.50    nonaka };
   1068  1.51  kiyohara 
   1069  1.51  kiyohara const uint8_t netbookpro_keytrans[] = {
   1070  1.51  kiyohara /*	row#0,	row#1,	row#2,	row#3,	row#4,	row#5,	row#6,	row#7	*/
   1071  1.51  kiyohara /*00*/	 28,	205,	 15,	 21,	203,	208,	 49,	 42,
   1072  1.51  kiyohara 	UNK,	UNK,	UNK,	UNK,	UNK,	 14,	UNK,	 12,
   1073  1.51  kiyohara /*10*/	 13,	 11,	 25,	 39,	UNK,	 54,	UNK,	UNK,
   1074  1.51  kiyohara 	UNK,	UNK,	UNK,	 37,	 23,	  9,	 10,	 24,
   1075  1.51  kiyohara /*20*/	 38,	UNK,	UNK,	 29,	UNK,	UNK,	UNK,	UNK,
   1076  1.51  kiyohara 	 51,	 40,	 50,	 36,	 22,	  8,	UNK,	UNK,
   1077  1.51  kiyohara /*30*/	UNK,	184,	UNK,	UNK,	 57,	 19,	  5,	  6,
   1078  1.51  kiyohara 	 20,	 34,	 48,	UNK,	UNK,	UNK,	UNK,	 43,
   1079  1.51  kiyohara /*40*/	UNK,	 56,	 33,	 47,	 46,	 32,	 18,	  4,
   1080  1.51  kiyohara 	UNK,	UNK,	UNK,	UNK,	UNK,	 53,	UNK,	 16,
   1081  1.51  kiyohara /*50*/	 30,	 44,	 31,	 17,	 45,	UNK,	UNK,	UNK,
   1082  1.51  kiyohara 	UNK,	UNK,	UNK,	  1,	  2,	  3,	  7,	 52,
   1083  1.51  kiyohara /*60*/	UNK,	 35,	UNK,	UNK,	UNK,	UNK,	UNK,	UNK,
   1084  1.51  kiyohara 	UNK,	UNK,	UNK,	UNK,	UNK,	UNK,	UNK,	UNK,
   1085  1.51  kiyohara };
   1086  1.51  kiyohara 
   1087  1.51  kiyohara static const keysym_t netbookpro_keydesc[] = {
   1088  1.51  kiyohara /* pos      command		normal		shifted		fn	*/
   1089  1.51  kiyohara    KC(2),   KS_Cmd_Screen0,	KS_1,		KS_exclam,	KS_f1,
   1090  1.51  kiyohara    KC(3),   KS_Cmd_Screen1,	KS_2,		KS_at,		KS_f2,
   1091  1.51  kiyohara    KC(4),   KS_Cmd_Screen2,	KS_3,		KS_numbersign,	KS_f3,
   1092  1.51  kiyohara    KC(5),   KS_Cmd_Screen3,	KS_4,		KS_dollar,	KS_f4,
   1093  1.51  kiyohara    KC(6),   			KS_5,		KS_percent,	KS_grave,
   1094  1.51  kiyohara    KC(7),   			KS_6,		KS_asciicircum,	KS_apostrophe,
   1095  1.51  kiyohara    KC(8),   			KS_7,		KS_ampersand,	KS_braceleft,
   1096  1.51  kiyohara    KC(9),   			KS_8,		KS_asterisk,	KS_braceright,
   1097  1.51  kiyohara    KC(10),  			KS_9,		KS_parenleft,	KS_bracketleft,
   1098  1.51  kiyohara    KC(11),  			KS_0,		KS_parenright,	KS_bracketright,
   1099  1.51  kiyohara    KC(12),  			KS_minus,	KS_underscore,	KS_numbersign,
   1100  1.51  kiyohara    KC(15),  			KS_Tab,		KS_BackSpace,	KS_Caps_Lock,
   1101  1.51  kiyohara    KC(40),			KS_apostrophe,	KS_quotedbl,	KS_at,
   1102  1.51  kiyohara    KC(43),			KS_backslash,	KS_asciitilde,	KS_bar,
   1103  1.51  kiyohara    KC(51),			KS_comma,	KS_less,	KS_minus,
   1104  1.51  kiyohara    KC(52),  			KS_period,	KS_greater,	KS_plus,
   1105  1.51  kiyohara    KC(53),  			KS_slash,	KS_question,	KS_Help,
   1106  1.51  kiyohara    KC(184),			KS_Mode_switch,	KS_Multi_key,
   1107  1.51  kiyohara    KC(203),			KS_Left,	KS_Left,	KS_Home,
   1108  1.51  kiyohara    KC(205),			KS_Right,	KS_Right,	KS_End,
   1109  1.51  kiyohara };
   1110  1.39     peter #endif /* hpcarm */
   1111  1.39     peter 
   1112  1.39     peter #if defined(hpcarm) || defined(hpcsh)
   1113  1.39     peter /*
   1114  1.39     peter  * Shared keymaps between the Jornada series (6xx, 7xx).
   1115  1.39     peter  */
   1116  1.39     peter 
   1117  1.39     peter /* US (ABA), UK (ABU) */
   1118  1.39     peter static const keysym_t jornada_us_keydesc[] = {
   1119  1.39     peter /*  pos      normal          shifted        altgr       */
   1120  1.39     peter     KC(2),   KS_1,           KS_exclam,     KS_asciitilde,
   1121  1.39     peter     KC(3),   KS_2,           KS_at,         KS_grave,
   1122  1.39     peter     KC(4),   KS_3,           KS_numbersign, KS_sterling,
   1123  1.39     peter #ifdef KS_euro
   1124  1.39     peter     KC(5),   KS_4,           KS_dollar,     KS_euro,
   1125  1.39     peter #endif
   1126  1.39     peter     KC(25),  KS_p,           KS_P,          KS_braceleft,
   1127  1.39     peter     KC(39),  KS_semicolon,   KS_colon,      KS_bracketleft,
   1128  1.39     peter     KC(40),  KS_apostrophe,  KS_quotedbl,   KS_bracketright,
   1129  1.39     peter     KC(43),  KS_backslash,   KS_bar,        KS_braceright,
   1130  1.39     peter     KC(184), KS_Mode_switch, KS_Multi_key,
   1131  1.39     peter 
   1132  1.39     peter     KC(200), KS_Cmd_BrightnessUp,   KS_Up,
   1133  1.39     peter     KC(203), KS_Cmd_ContrastDown,   KS_Left,
   1134  1.39     peter     KC(205), KS_Cmd_ContrastUp,     KS_Right,
   1135  1.39     peter     KC(208), KS_Cmd_BrightnessDown, KS_Down,
   1136  1.39     peter };
   1137  1.39     peter 
   1138  1.39     peter /*
   1139  1.39     peter  * XXX: Add AltGr layer for #ABB here?  OTOH, all the keys necessary
   1140  1.39     peter  * for basic actions in DDB or shell are on the primary layer, so it
   1141  1.39     peter  * makes sense to support AltGr via wsconsctl(8) instead, as the same
   1142  1.39     peter  * primary layer is used e.g. in Russian models.  But it does make
   1143  1.39     peter  * sense to define the <AltGr> key itself here, as we base this layout
   1144  1.39     peter  * on KB_US that defines it as the right <Alt>.
   1145  1.39     peter  */
   1146  1.39     peter /* European English (ABB) */
   1147  1.39     peter static const keysym_t jornada_intl_keydesc[] = {
   1148  1.39     peter /*  pos      normal          shifted        altgr       */
   1149  1.39     peter     KC(42),  KS_Shift_L,     KS_Shift_L,    KS_Caps_Lock,
   1150  1.39     peter     KC(184), KS_Mode_switch, KS_Multi_key,
   1151  1.39     peter 
   1152  1.39     peter     KC(200), KS_Cmd_BrightnessUp,   KS_Up,
   1153  1.39     peter     KC(203), KS_Cmd_ContrastDown,   KS_Left,
   1154  1.39     peter     KC(205), KS_Cmd_ContrastUp,     KS_Right,
   1155  1.39     peter     KC(208), KS_Cmd_BrightnessDown, KS_Down,
   1156  1.39     peter };
   1157  1.39     peter 
   1158  1.39     peter /* German (ABD) */
   1159  1.39     peter static const keysym_t jornada_de_keydesc[] = {
   1160  1.39     peter /*  pos      normal          shifted        altgr       */
   1161  1.39     peter     KC(2),   KS_1,           KS_exclam,     KS_brokenbar,
   1162  1.39     peter     KC(5),   KS_4,           KS_dollar,     KS_ccedilla,
   1163  1.39     peter     KC(6),   KS_5,           KS_percent,    KS_sterling,
   1164  1.39     peter     KC(7),   KS_6,           KS_ampersand,  KS_notsign,
   1165  1.39     peter #ifdef KS_euro
   1166  1.39     peter     KC(18),  KS_e,           KS_E,          KS_euro,
   1167  1.39     peter #endif
   1168  1.39     peter     KC(27),  KS_plus,        KS_asterisk,   KS_asciitilde, /* NB: not dead */
   1169  1.39     peter     KC(30),  KS_a,           KS_A,          KS_bar,
   1170  1.39     peter     KC(41),  KS_asciicircum, KS_degree,                    /* NB: not dead */
   1171  1.39     peter     KC(43),  KS_numbersign,  KS_apostrophe, KS_dead_diaeresis,
   1172  1.39     peter     KC(44),  KS_y,           KS_Y,          KS_less,
   1173  1.39     peter     KC(45),  KS_x,           KS_X,          KS_greater,
   1174  1.39     peter     KC(46),  KS_c,           KS_C,          KS_cent,
   1175  1.39     peter 
   1176  1.39     peter     KC(200), KS_Cmd_BrightnessUp,   KS_Up,
   1177  1.39     peter     KC(203), KS_Cmd_ContrastDown,   KS_Left,
   1178  1.39     peter     KC(205), KS_Cmd_ContrastUp,     KS_Right,
   1179  1.39     peter     KC(208), KS_Cmd_BrightnessDown, KS_Down,
   1180  1.39     peter };
   1181  1.39     peter 
   1182  1.39     peter /* French (ABF) */
   1183  1.39     peter static const keysym_t jornada_fr_keydesc[] = {
   1184  1.39     peter /*  pos      normal          shifted        altgr       */
   1185  1.39     peter     KC(2),   KS_ampersand,   KS_1,          KS_plusminus,
   1186  1.39     peter #ifdef KS_euro
   1187  1.39     peter     KC(18),  KS_e,           KS_E,          KS_euro,
   1188  1.39     peter #endif
   1189  1.39     peter     KC(19),  KS_r,           KS_R,          KS_onequarter,
   1190  1.39     peter     KC(20),  KS_t,           KS_T,          KS_onehalf,
   1191  1.39     peter     KC(21),  KS_y,           KS_Y,          KS_threequarters,
   1192  1.39     peter     KC(25),  KS_p,           KS_P,          KS_paragraph,
   1193  1.39     peter     KC(30),  KS_q,           KS_Q,          KS_brokenbar,
   1194  1.39     peter     KC(31),  KS_s,           KS_S,          KS_guillemotleft,
   1195  1.39     peter     KC(32),  KS_d,           KS_D,          KS_guillemotright,
   1196  1.39     peter     KC(40),  KS_ugrave,      KS_percent,    KS_dead_acute,
   1197  1.39     peter     KC(41),  KS_twosuperior, KS_voidSymbol, KS_threesuperior,
   1198  1.39     peter     KC(43),  KS_asterisk,    KS_mu,         KS_notsign,
   1199  1.39     peter     KC(44),  KS_w,           KS_W,          KS_less,
   1200  1.39     peter     KC(45),  KS_x,           KS_X,          KS_greater,
   1201  1.39     peter     KC(46),  KS_c,           KS_C,          KS_cent,
   1202  1.39     peter     KC(50),  KS_comma,       KS_question,   KS_mu,
   1203  1.39     peter     KC(53),  KS_exclam,      KS_section,    KS_Eacute,
   1204  1.39     peter     KC(184), KS_Mode_switch, KS_Multi_key,
   1205  1.39     peter 
   1206  1.39     peter     KC(200), KS_Cmd_BrightnessUp,   KS_Up,
   1207  1.39     peter     KC(203), KS_Cmd_ContrastDown,   KS_Left,
   1208  1.39     peter     KC(205), KS_Cmd_ContrastUp,     KS_Right,
   1209  1.39     peter     KC(208), KS_Cmd_BrightnessDown, KS_Down,
   1210  1.39     peter };
   1211  1.39     peter 
   1212  1.39     peter /* Scandinavian */
   1213  1.39     peter static const keysym_t jornada_scnv_keydesc[] = {
   1214  1.39     peter /*  pos      normal          shifted        altgr       */
   1215  1.39     peter     KC(2),   KS_1,           KS_exclam,     KS_asciitilde,
   1216  1.39     peter     KC(3),   KS_2,           KS_quotedbl,   KS_at,
   1217  1.39     peter     KC(4),   KS_3,           KS_numbersign, KS_sterling,
   1218  1.39     peter     KC(5),   KS_4,           KS_currency,   KS_dollar,
   1219  1.39     peter     KC(7),   KS_6,           KS_ampersand,
   1220  1.39     peter     KC(8),   KS_7,           KS_slash,      KS_braceleft,
   1221  1.39     peter     KC(9),   KS_8,           KS_parenleft,  KS_bracketleft,
   1222  1.39     peter     KC(10),  KS_9,           KS_parenright, KS_bracketright,
   1223  1.39     peter     KC(11),  KS_0,           KS_equal,      KS_braceright,
   1224  1.39     peter     KC(12),  KS_plus,        KS_question,   KS_backslash,
   1225  1.39     peter     KC(13),  KS_apostrophe,  KS_grave,
   1226  1.39     peter     KC(25),  KS_p,           KS_P,          KS_braceleft,
   1227  1.39     peter     KC(26),  KS_aring,
   1228  1.39     peter     /*
   1229  1.39     peter      * XXX: KC(39) and KC(40) has odiaeresis/adiaeresis *and*
   1230  1.39     peter      * oslash/ae on them.  Apparently localized WinCE uses the former
   1231  1.39     peter      * for Swedish and Finnish and the latter for Danish and
   1232  1.39     peter      * Norwegian.  But as the keyboard doesn't seem to have
   1233  1.39     peter      * semicolon/colon and minus/underscore nowhere on the primary and
   1234  1.39     peter      * altgr layers, I put them here (semicolon/colon is inherited).
   1235  1.39     peter      */
   1236  1.39     peter     KC(40),  KS_minus,       KS_underscore, /* XXX */
   1237  1.39     peter     KC(41),  KS_paragraph,   KS_onehalf,    KS_bar,
   1238  1.39     peter     KC(184), KS_Mode_switch, KS_Multi_key,
   1239  1.39     peter 
   1240  1.39     peter     KC(200), KS_Cmd_BrightnessUp,   KS_Up,
   1241  1.39     peter     KC(203), KS_Cmd_ContrastDown,   KS_Left,
   1242  1.39     peter     KC(205), KS_Cmd_ContrastUp,     KS_Right,
   1243  1.39     peter     KC(208), KS_Cmd_BrightnessDown, KS_Down,
   1244  1.39     peter };
   1245  1.39     peter 
   1246  1.39     peter /* Spanish (ABE) */
   1247  1.39     peter static const keysym_t jornada_es_keydesc[] = {
   1248  1.39     peter /*  pos      normal          shifted        altgr            */
   1249  1.39     peter     KC(2),   KS_1,           KS_exclam,     KS_ordfeminine,
   1250  1.39     peter     KC(3),   KS_2,           KS_quotedbl,   KS_masculine,
   1251  1.39     peter     KC(4),   KS_3,           KS_numbersign,
   1252  1.39     peter     KC(12),  KS_apostrophe,  KS_question,   KS_backslash,
   1253  1.39     peter     KC(13),  KS_questiondown,KS_exclamdown,
   1254  1.39     peter     KC(16),  KS_q,           KS_Q,          KS_at,
   1255  1.39     peter #ifdef KS_euro
   1256  1.39     peter     KC(18),  KS_e,           KS_E,          KS_euro,
   1257  1.39     peter #endif
   1258  1.39     peter     KC(26),  KS_dead_acute,  KS_dead_diaeresis,
   1259  1.39     peter     KC(27),  KS_plus,        KS_asterisk,   KS_dead_tilde,
   1260  1.39     peter     KC(40),  KS_braceleft,   KS_bracketleft,KS_dead_circumflex,
   1261  1.39     peter     KC(41),  KS_bar,         KS_degree,     KS_notsign,
   1262  1.39     peter     KC(43),  KS_braceright,  KS_bracketright,KS_dead_grave,
   1263  1.39     peter     KC(44),  KS_z,           KS_Z,          KS_less,
   1264  1.39     peter     KC(45),  KS_x,           KS_X,          KS_greater,
   1265  1.39     peter     KC(46),  KS_c,           KS_C,          KS_Ccedilla,
   1266  1.39     peter 
   1267  1.39     peter     KC(200), KS_Cmd_BrightnessUp,   KS_Up,
   1268  1.39     peter     KC(203), KS_Cmd_ContrastDown,   KS_Left,
   1269  1.39     peter     KC(205), KS_Cmd_ContrastUp,     KS_Right,
   1270  1.39     peter     KC(208), KS_Cmd_BrightnessDown, KS_Down,
   1271  1.39     peter };
   1272  1.39     peter #endif /* hpcarm || hpcsh */
   1273  1.25       uwe 
   1274  1.25       uwe /*
   1275  1.25       uwe  * REMINDER:
   1276  1.25       uwe  *   When adding new entry to this array, make sure that pckbd_keydesctab[]
   1277  1.25       uwe  *   in sys/dev/pckbport/wskbdmap_mfii.c has a placeholder KB_MACHDEP entry
   1278  1.25       uwe  *   for the base ht_layout that you refer.
   1279  1.25       uwe  */
   1280   1.1       uch const struct hpckbd_keymap_table {
   1281   1.1       uch 	platid_t	*ht_platform;
   1282  1.32       uwe 	const uint8_t	*ht_keymap;
   1283   1.1       uch 	const int	*ht_special;
   1284   1.1       uch 	struct {
   1285   1.1       uch 		const keysym_t	*map;
   1286   1.1       uch 		int size;
   1287   1.1       uch 	} ht_cmdmap;
   1288   1.1       uch 	kbd_t		ht_layout;
   1289   1.1       uch } hpckbd_keymap_table[] = {
   1290   1.1       uch #ifdef hpcmips
   1291   1.1       uch 	{	&platid_mask_MACH_COMPAQ_C,
   1292  1.33       uwe 		tc5165_compaq_c_jp_keymap,
   1293   1.1       uch 		tc5165_compaq_c_jp_special_keymap,
   1294   1.1       uch 		NULLCMDMAP,
   1295   1.1       uch 		KB_JP },
   1296   1.1       uch 	{	&platid_mask_MACH_VICTOR_INTERLINK,
   1297  1.33       uwe 		m38813c_keymap,
   1298   1.1       uch 		default_special_keymap,
   1299   1.1       uch 		NULLCMDMAP,
   1300   1.1       uch 		KB_JP },
   1301   1.1       uch 	{	&platid_mask_MACH_SHARP_TELIOS,
   1302  1.33       uwe 		tc5165_telios_jp_keymap,
   1303   1.1       uch 		default_special_keymap,
   1304  1.36  nakayama 		CMDMAP(tc5165_telios_jp_cmdmap),
   1305   1.1       uch 		KB_JP },
   1306   1.1       uch 	{	&platid_mask_MACH_SHARP_MOBILON,
   1307  1.33       uwe 		tc5165_mobilon_keymap,
   1308   1.1       uch 		tc5165_mobilon_special_keymap,
   1309   1.1       uch 		NULLCMDMAP,
   1310   1.1       uch 		KB_US },
   1311   1.1       uch 	{	&platid_mask_MACH_NEC_MCR_500A,
   1312   1.1       uch 		mobilepro750c_keytrans,
   1313   1.1       uch 		NULL,
   1314   1.1       uch 		NULLCMDMAP,
   1315   1.1       uch 		KB_US },
   1316   1.1       uch 	{	&platid_mask_MACH_NEC_MCR_520A,
   1317   1.1       uch 		mobilepro_keytrans,
   1318   1.1       uch 		NULL,
   1319   1.8      sato 		CMDMAP(mobilepro_cmdmap),
   1320   1.1       uch 		KB_US },
   1321   1.1       uch 	{	&platid_mask_MACH_NEC_MCR_530A,
   1322  1.10  takemura 		mobilepro780_keytrans,
   1323   1.1       uch 		NULL,
   1324   1.1       uch 		NULLCMDMAP,
   1325   1.1       uch 		KB_US },
   1326   1.1       uch 	{	&platid_mask_MACH_NEC_MCR_700A,
   1327  1.33       uwe 		mobilepro8x0_keytrans,
   1328   1.1       uch 		NULL,
   1329  1.27        tv 		CMDMAP(mobilepro8x0_cmdmap),
   1330   1.1       uch 		KB_US },
   1331   1.1       uch 	{	&platid_mask_MACH_NEC_MCR_730A,
   1332  1.27        tv 		mobilepro8x0_keytrans,
   1333   1.1       uch 		NULL,
   1334  1.27        tv 		CMDMAP(mobilepro8x0_cmdmap),
   1335   1.1       uch 		KB_US },
   1336   1.1       uch 	{	&platid_mask_MACH_NEC_MCR_MPRO700,
   1337   1.1       uch 		mobilepro_keytrans,
   1338   1.1       uch 		NULL,
   1339   1.1       uch 		NULLCMDMAP,
   1340   1.1       uch 		KB_US },
   1341   1.1       uch 	{	&platid_mask_MACH_NEC_MCR_SIGMARION,
   1342  1.16  hamajima 		sigmarion_jp_keytrans,
   1343  1.16  hamajima 		NULL,
   1344  1.16  hamajima 		CMDMAP(sigmarion_cmdmap),
   1345  1.16  hamajima 		KB_JP },
   1346  1.16  hamajima 	{	&platid_mask_MACH_NEC_MCR_SIGMARION2,
   1347   1.1       uch 		sigmarion_jp_keytrans,
   1348   1.1       uch 		NULL,
   1349   1.1       uch 		CMDMAP(sigmarion_cmdmap),
   1350   1.1       uch 		KB_JP },
   1351   1.1       uch 	{	&platid_mask_MACH_NEC_MCR,
   1352   1.1       uch 		mcr_jp_keytrans,
   1353   1.1       uch 		NULL,
   1354   1.1       uch 		CMDMAP(mcr_jp_cmdmap),
   1355   1.1       uch 		KB_JP },
   1356   1.1       uch 	{	&platid_mask_MACH_IBM_WORKPAD_Z50,
   1357   1.1       uch 		z50_keytrans,
   1358   1.1       uch 		NULL,
   1359   1.1       uch 		NULLCMDMAP,
   1360   1.1       uch 		KB_US },
   1361   1.1       uch 	{	&platid_mask_MACH_SHARP_TRIPAD,
   1362   1.1       uch 		tripad_keytrans,
   1363   1.1       uch 		NULL,
   1364  1.41   tsutsui 		CMDMAP(tripad_cmdmap),
   1365   1.1       uch 		KB_US },
   1366   1.1       uch 	{	&platid_mask_MACH_VADEM_CLIO_C,
   1367   1.1       uch 		tripad_keytrans,
   1368   1.1       uch 		NULL,
   1369  1.41   tsutsui 		CMDMAP(tripad_cmdmap),
   1370   1.1       uch 		KB_US },
   1371   1.1       uch 	{	&platid_mask_MACH_NEC_MCCS,
   1372   1.1       uch 		mccs_keytrans,
   1373   1.1       uch 		NULL,
   1374   1.1       uch 		CMDMAP(mccs_cmdmap),
   1375   1.1       uch 		KB_JP },
   1376   1.1       uch 	{	&platid_mask_MACH_FUJITSU_INTERTOP,
   1377   1.1       uch 		intertop_keytrans,
   1378   1.5  takemura 		NULL,
   1379   1.5  takemura 		NULLCMDMAP,
   1380   1.5  takemura 		KB_JP },
   1381   1.5  takemura 	{	&platid_mask_MACH_CASIO_POCKETPOSTPET,
   1382   1.5  takemura 		pocketpostpet_keytrans,
   1383   1.1       uch 		NULL,
   1384   1.1       uch 		NULLCMDMAP,
   1385   1.1       uch 		KB_JP },
   1386   1.1       uch #endif /* hpcmips */
   1387   1.2       uch #ifdef hpcsh
   1388   1.7       uch 	/*
   1389   1.7       uch 	 * HP Jornada 680/690
   1390   1.7       uch 	 */
   1391   1.6       uch 	/* Japanese */
   1392   1.6       uch 	{	&platid_mask_MACH_HP_JORNADA_680JP,
   1393   1.3       uch 		jornada6x0_jp_keytrans,
   1394   1.6       uch 		jornada6x0_special_keymap,
   1395   1.3       uch 		NULLCMDMAP,
   1396   1.3       uch 		KB_JP },
   1397   1.6       uch 	{	&platid_mask_MACH_HP_JORNADA_690JP,
   1398   1.3       uch 		jornada6x0_jp_keytrans,
   1399   1.6       uch 		jornada6x0_special_keymap,
   1400   1.2       uch 		NULLCMDMAP,
   1401   1.2       uch 		KB_JP },
   1402  1.19       uwe 	/* US (ABA), UK (ABU) */
   1403  1.13       uch 	{	&platid_mask_MACH_HP_JORNADA_680,
   1404  1.13       uch 		jornada6x0_us_keytrans,
   1405  1.13       uch 		jornada6x0_special_keymap,
   1406  1.39     peter 		CMDMAP(jornada_us_keydesc),
   1407  1.13       uch 		KB_US },
   1408  1.13       uch 	{	&platid_mask_MACH_HP_JORNADA_690,
   1409  1.13       uch 		jornada6x0_us_keytrans,
   1410  1.13       uch 		jornada6x0_special_keymap,
   1411  1.39     peter 		CMDMAP(jornada_us_keydesc),
   1412  1.13       uch 		KB_US },
   1413  1.19       uwe 	/* European English (ABB) */
   1414  1.24       uwe 	{	&platid_mask_MACH_HP_JORNADA_680EU,
   1415  1.18       uwe 		jornada6x0_intl_keytrans,
   1416   1.6       uch 		jornada6x0_special_keymap,
   1417  1.39     peter 		CMDMAP(jornada_intl_keydesc),
   1418  1.19       uwe 		KB_US },
   1419  1.24       uwe 	{	&platid_mask_MACH_HP_JORNADA_690EU,
   1420  1.18       uwe 		jornada6x0_intl_keytrans,
   1421   1.6       uch 		jornada6x0_special_keymap,
   1422  1.39     peter 		CMDMAP(jornada_intl_keydesc),
   1423  1.19       uwe 		KB_US },
   1424  1.19       uwe 	/* German (ABD) */
   1425   1.6       uch 	{	&platid_mask_MACH_HP_JORNADA_680DE,
   1426  1.18       uwe 		jornada6x0_intl_keytrans,
   1427   1.6       uch 		jornada6x0_special_keymap,
   1428  1.39     peter 		CMDMAP(jornada_de_keydesc),
   1429   1.6       uch 		KB_DE },
   1430   1.6       uch 	{	&platid_mask_MACH_HP_JORNADA_690DE,
   1431  1.18       uwe 		jornada6x0_intl_keytrans,
   1432   1.6       uch 		jornada6x0_special_keymap,
   1433  1.39     peter  		CMDMAP(jornada_de_keydesc),
   1434   1.6       uch 		KB_DE },
   1435  1.21       uwe 	/* French (ABF) */
   1436  1.21       uwe 	{	&platid_mask_MACH_HP_JORNADA_680FR,
   1437  1.21       uwe 		jornada6x0_intl_keytrans,
   1438  1.21       uwe 		jornada6x0_special_keymap,
   1439  1.39     peter 		CMDMAP(jornada_fr_keydesc),
   1440  1.21       uwe 		KB_FR },
   1441  1.21       uwe 	{	&platid_mask_MACH_HP_JORNADA_690FR,
   1442  1.21       uwe 		jornada6x0_intl_keytrans,
   1443  1.21       uwe 		jornada6x0_special_keymap,
   1444  1.39     peter  		CMDMAP(jornada_fr_keydesc),
   1445  1.21       uwe 		KB_FR },
   1446  1.26       uwe 	/* Scandinavian */
   1447  1.26       uwe 	{	&platid_mask_MACH_HP_JORNADA_680SV,
   1448  1.26       uwe 		jornada6x0_intl_keytrans,
   1449  1.26       uwe 		jornada6x0_special_keymap,
   1450  1.39     peter 		CMDMAP(jornada_scnv_keydesc),
   1451  1.26       uwe 		KB_US },
   1452  1.26       uwe 	{	&platid_mask_MACH_HP_JORNADA_690SV,
   1453  1.26       uwe 		jornada6x0_intl_keytrans,
   1454  1.26       uwe 		jornada6x0_special_keymap,
   1455  1.39     peter  		CMDMAP(jornada_scnv_keydesc),
   1456  1.26       uwe 		KB_US },
   1457  1.30       uwe 	/* Spanish (ABE) */
   1458  1.30       uwe 	{	&platid_mask_MACH_HP_JORNADA_680ES,
   1459  1.30       uwe 		jornada6x0_intl_keytrans,
   1460  1.30       uwe 		jornada6x0_special_keymap,
   1461  1.39     peter 		CMDMAP(jornada_es_keydesc),
   1462  1.30       uwe 		KB_ES },
   1463  1.30       uwe 	{	&platid_mask_MACH_HP_JORNADA_690ES,
   1464  1.30       uwe 		jornada6x0_intl_keytrans,
   1465  1.30       uwe 		jornada6x0_special_keymap,
   1466  1.39     peter  		CMDMAP(jornada_es_keydesc),
   1467  1.30       uwe 		KB_ES },
   1468   1.7       uch 	/*
   1469   1.7       uch 	 * HP 620LX
   1470   1.7       uch 	 */
   1471   1.7       uch 	/* Japanese */
   1472   1.7       uch 	{	&platid_mask_MACH_HP_LX_620JP,
   1473   1.7       uch 		hp620lx_jp_keytrans,
   1474   1.7       uch 		hp620lx_special_keymap,
   1475  1.11       uch 		NULLCMDMAP,
   1476  1.11       uch 		KB_JP },
   1477  1.35       uwe 	/* Other models */
   1478  1.35       uwe 	{	&platid_mask_MACH_HP_LX_620,
   1479  1.35       uwe 		hp620lx_intl_keytrans,
   1480  1.35       uwe 		hp620lx_special_keymap,
   1481  1.35       uwe 		NULLCMDMAP,
   1482  1.35       uwe 		KB_US },
   1483  1.35       uwe 
   1484  1.11       uch 	/*
   1485  1.11       uch 	 * PERSONA HPW50PAD
   1486  1.11       uch 	 */
   1487  1.11       uch 	/* Japanese */
   1488  1.11       uch 	{ 	&platid_mask_MACH_HITACHI_PERSONA_HPW50PAD,
   1489  1.11       uch 		persona_hpw50pad_jp_keytrans,
   1490  1.11       uch 		persona_hpw50pad_special_keymap,
   1491  1.37  kiyohara  		CMDMAP(persona_hpw50pad_jp_keydesc),
   1492   1.7       uch 		KB_JP },
   1493  1.28       uch 
   1494  1.28       uch 	/*
   1495  1.28       uch 	 * PERSONA HPW200EC
   1496  1.28       uch 	 */
   1497  1.28       uch 	/* US */
   1498  1.28       uch 	{ 	&platid_mask_MACH_HITACHI_PERSONA_HPW200EC,
   1499  1.28       uch 		persona_hpw200ec_keytrans,
   1500  1.28       uch 		persona_hpw200ec_special_keymap,
   1501  1.28       uch 		NULLCMDMAP,
   1502  1.28       uch 		KB_US },
   1503  1.28       uch 
   1504   1.2       uch #endif /* hpcsh */
   1505  1.39     peter #ifdef hpcarm
   1506  1.49    nonaka 	/*
   1507  1.49    nonaka 	 * HP Jornada 710/720/728
   1508  1.49    nonaka 	 */
   1509  1.39     peter 	/* US (ABA), UK (ABU) */
   1510  1.39     peter 	{	&platid_mask_MACH_HP_JORNADA_720,
   1511  1.39     peter 		jornada7xx_us_keytrans,
   1512  1.39     peter 		jornada7xx_special_keymap,
   1513  1.39     peter 		CMDMAP(jornada_us_keydesc),
   1514  1.39     peter 		KB_US },
   1515  1.39     peter 	/* Japanese */
   1516  1.39     peter 	{	&platid_mask_MACH_HP_JORNADA_720JP,
   1517  1.39     peter 		jornada7xx_jp_keytrans,
   1518  1.39     peter 		jornada7xx_special_keymap,
   1519  1.39     peter 		NULLCMDMAP,
   1520  1.39     peter 		KB_JP },
   1521  1.39     peter 	/* European English (ABB) */
   1522  1.39     peter 	{	&platid_mask_MACH_HP_JORNADA_720EU,
   1523  1.39     peter 		jornada7xx_intl_keytrans,
   1524  1.39     peter 		jornada7xx_special_keymap,
   1525  1.39     peter 		CMDMAP(jornada_intl_keydesc),
   1526  1.39     peter 		KB_US },
   1527  1.39     peter 	/* German (ABD) */
   1528  1.39     peter 	{	&platid_mask_MACH_HP_JORNADA_720DE,
   1529  1.39     peter 		jornada7xx_intl_keytrans,
   1530  1.39     peter 		jornada7xx_special_keymap,
   1531  1.39     peter 		CMDMAP(jornada_de_keydesc),
   1532  1.39     peter 		KB_DE },
   1533  1.39     peter 	/* French (ABF) */
   1534  1.39     peter 	{	&platid_mask_MACH_HP_JORNADA_720FR,
   1535  1.39     peter 		jornada7xx_intl_keytrans,
   1536  1.39     peter 		jornada7xx_special_keymap,
   1537  1.39     peter 		CMDMAP(jornada_fr_keydesc),
   1538  1.39     peter 		KB_FR },
   1539  1.39     peter 	/* Scandinavian */
   1540  1.39     peter 	{	&platid_mask_MACH_HP_JORNADA_720SV,
   1541  1.39     peter 		jornada7xx_intl_keytrans,
   1542  1.39     peter 		jornada7xx_special_keymap,
   1543  1.39     peter 		CMDMAP(jornada_scnv_keydesc),
   1544  1.39     peter 		KB_US },
   1545  1.39     peter 	/* Spanish (ABE) */
   1546  1.39     peter 	{	&platid_mask_MACH_HP_JORNADA_720ES,
   1547  1.39     peter 		jornada7xx_intl_keytrans,
   1548  1.39     peter 		jornada7xx_special_keymap,
   1549  1.39     peter 		CMDMAP(jornada_es_keydesc),
   1550  1.39     peter 		KB_ES },
   1551  1.49    nonaka 	/*
   1552  1.49    nonaka 	 * Sharp W-ZERO3
   1553  1.49    nonaka 	 */
   1554  1.49    nonaka 	/* WS003SH */
   1555  1.49    nonaka 	{	&platid_mask_MACH_SHARP_WZERO3_WS003SH,
   1556  1.49    nonaka 		ws003sh_jp_keytrans,
   1557  1.49    nonaka 		ws003sh_special_keymap,
   1558  1.49    nonaka 		CMDMAP(ws003sh_jp_keydesc),
   1559  1.49    nonaka 		KB_JP },
   1560  1.49    nonaka 	/* WS004SH */
   1561  1.49    nonaka 	{	&platid_mask_MACH_SHARP_WZERO3_WS004SH,
   1562  1.49    nonaka 		ws003sh_jp_keytrans,
   1563  1.49    nonaka 		ws003sh_special_keymap,
   1564  1.49    nonaka 		CMDMAP(ws003sh_jp_keydesc),
   1565  1.49    nonaka 		KB_JP },
   1566  1.49    nonaka 	/* WS007SH */
   1567  1.49    nonaka 	{	&platid_mask_MACH_SHARP_WZERO3_WS007SH,
   1568  1.49    nonaka 		ws003sh_jp_keytrans,
   1569  1.49    nonaka 		ws003sh_special_keymap,
   1570  1.49    nonaka 		CMDMAP(ws003sh_jp_keydesc),
   1571  1.49    nonaka 		KB_JP },
   1572  1.49    nonaka 	/* WS011SH */
   1573  1.49    nonaka 	{	&platid_mask_MACH_SHARP_WZERO3_WS011SH,
   1574  1.49    nonaka 		ws011sh_jp_keytrans,
   1575  1.49    nonaka 		ws011sh_special_keymap,
   1576  1.49    nonaka 		CMDMAP(ws011sh_jp_keydesc),
   1577  1.49    nonaka 		KB_JP },
   1578  1.49    nonaka 	/* WS020SH */
   1579  1.49    nonaka 	{	&platid_mask_MACH_SHARP_WZERO3_WS020SH,
   1580  1.50    nonaka 		ws020sh_jp_keytrans,
   1581  1.50    nonaka 		ws020sh_special_keymap,
   1582  1.50    nonaka 		CMDMAP(ws020sh_jp_keydesc),
   1583  1.49    nonaka 		KB_JP },
   1584  1.51  kiyohara 	/* NETBOOK PRO */
   1585  1.51  kiyohara 	{	&platid_mask_MACH_PSIONTEKLOGIX_NETBOOK_PRO,
   1586  1.51  kiyohara 		netbookpro_keytrans,
   1587  1.51  kiyohara 		NULL,
   1588  1.51  kiyohara 		CMDMAP(netbookpro_keydesc),
   1589  1.51  kiyohara 		KB_US },
   1590  1.39     peter #endif /* hpcarm */
   1591  1.46       uwe 
   1592  1.46       uwe 	{ .ht_platform = NULL } /* end mark */
   1593   1.1       uch };
   1594