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