1*587ef940Skiyohara /* $NetBSD: hpckbdkeymap.h,v 1.51 2011/08/06 03:53:40 kiyohara Exp $ */ 2659f65e0Such 3659f65e0Such /*- 4eb330e61Such * Copyright (c) 1999-2002 The NetBSD Foundation, Inc. 5659f65e0Such * All rights reserved. 6659f65e0Such * 7659f65e0Such * Redistribution and use in source and binary forms, with or without 8659f65e0Such * modification, are permitted provided that the following conditions 9659f65e0Such * are met: 10659f65e0Such * 1. Redistributions of source code must retain the above copyright 11659f65e0Such * notice, this list of conditions and the following disclaimer. 12659f65e0Such * 2. Redistributions in binary form must reproduce the above copyright 13659f65e0Such * notice, this list of conditions and the following disclaimer in the 14659f65e0Such * documentation and/or other materials provided with the distribution. 15659f65e0Such * 16659f65e0Such * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 17659f65e0Such * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 18659f65e0Such * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19659f65e0Such * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 20659f65e0Such * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21659f65e0Such * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22659f65e0Such * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 23659f65e0Such * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 24659f65e0Such * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 25659f65e0Such * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 26659f65e0Such * POSSIBILITY OF SUCH DAMAGE. 27659f65e0Such */ 28659f65e0Such 29659f65e0Such #define UNK 255 /* unknown */ 30659f65e0Such #define IGN 254 /* ignore */ 31659f65e0Such #define SPL 253 /* special key */ 32659f65e0Such #define KC(n) KS_KEYCODE(n) 33659f65e0Such #define CMDMAP(map) { map, (sizeof(map)/sizeof(keysym_t)) } 34659f65e0Such #define NULLCMDMAP { NULL, 0 } 35659f65e0Such 36659f65e0Such #define KEY_SPECIAL_OFF 0 37659f65e0Such #define KEY_SPECIAL_LIGHT 1 38659f65e0Such 3980e190d1Suwe const uint8_t default_keymap[] = { 40659f65e0Such /* 0 1 2 3 4 5 6 7 */ 41659f65e0Such /* 0 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 42659f65e0Such /* 1 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 43659f65e0Such /* 2 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 44659f65e0Such /* 3 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 45659f65e0Such /* 4 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 46659f65e0Such /* 5 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 47659f65e0Such /* 6 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 48659f65e0Such /* 7 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 49659f65e0Such /* 8 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 50659f65e0Such /* 9 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 51659f65e0Such /*10 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 52659f65e0Such /*11 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 53659f65e0Such /*12 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 54659f65e0Such /*13 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 55659f65e0Such /*14 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 56659f65e0Such /*15 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK 57659f65e0Such }; 58659f65e0Such 59659f65e0Such const int default_special_keymap[] = { 60659f65e0Such [KEY_SPECIAL_OFF] = -1, 61659f65e0Such [KEY_SPECIAL_LIGHT] = -1 62659f65e0Such }; 63659f65e0Such 64659f65e0Such #ifdef hpcmips 6580e190d1Suwe const uint8_t tc5165_mobilon_keymap[] = { 66659f65e0Such /* 0 1 2 3 4 5 6 7 */ 67659f65e0Such /* 0 */ 37 , 45 , 44 , UNK, 9 , 51 , 23 , UNK, 68659f65e0Such /* 1 */ UNK, 56 , UNK, UNK, UNK, UNK, UNK, UNK, 69659f65e0Such /* 2 */ UNK, UNK, 29 , UNK, UNK, UNK, UNK, UNK, 70659f65e0Such /* 3 */ 24 , 203, UNK, 38 , 10 , 27 , 13 , UNK, 71659f65e0Such /* 4 */ 40 , UNK, UNK, 39 , 26 , 53 , 11 , 12 , 72659f65e0Such /* 5 */ UNK, UNK, UNK, 53 , 25 , UNK, UNK, SPL, /* Light */ 73659f65e0Such /* 6 */ 208, UNK, UNK, UNK, 52 , UNK, 43 , 14 , 74659f65e0Such /* 7 */ 205, 200, UNK, UNK, SPL, UNK, UNK, 28 , /* Off key */ 75659f65e0Such /* 8 */ UNK, 41 , 59 , 15 , 2 , UNK, UNK, UNK, 76659f65e0Such /* 9 */ 63 , 64 , 1 , UNK, 65 , 16 , 17 , UNK, 77659f65e0Such /*10 */ 60 , UNK, 61 , 62 , 3 , UNK, UNK, UNK, 78659f65e0Such /*11 */ UNK, UNK, UNK, 42 , 58 , UNK, UNK, UNK, 79659f65e0Such /*12 */ 47 , 33 , 46 , 5 , 4 , 18 , 19 , UNK, 80659f65e0Such /*13 */ 34 , 35 , 20 , 48 , 6 , 7 , 21 , 49 , 81659f65e0Such /*14 */ 22 , 31 , 32 , 36 , 8 , 30 , 50 , 57 , 82659f65e0Such /*15 */ UNK, IGN, UNK, UNK, UNK, UNK, UNK, UNK /* Windows key */ 83659f65e0Such }; 84659f65e0Such 85659f65e0Such const int tc5165_mobilon_special_keymap[] = { 86d04123caSpeter [KEY_SPECIAL_OFF] = -1, /* 60 */ 87659f65e0Such [KEY_SPECIAL_LIGHT] = 47 88659f65e0Such }; 89659f65e0Such 9080e190d1Suwe const uint8_t tc5165_telios_jp_keymap[] = { 91659f65e0Such /* 0 1 2 3 4 5 6 7 */ 92659f65e0Such /* 0 */ 58, 15, IGN, 1, IGN, IGN, IGN, IGN, 93659f65e0Such /* 1 */ IGN, IGN, IGN, IGN, 54, 42, IGN, IGN, 94659f65e0Such /* 2 */ 31, 18, 4, IGN, IGN, 32, 45, 59, 95659f65e0Such /* 3 */ 33, 19, 5, 61, IGN, 46, 123, 60, 96659f65e0Such /* 4 */ 35, 21, 8, 64, IGN, 48, 49, 63, 97659f65e0Such /* 5 */ 17, 16, 3, IGN, 2, 30, 44, 41, 988ff59f4fSnakayama /* 6 */ IGN, IGN, IGN, IGN, IGN, IGN, 221, IGN, 99659f65e0Such /* 7 */ IGN, IGN, IGN, IGN, IGN, IGN, 56, IGN, 100659f65e0Such /* 8 */ 34, 20, 7, IGN, 6, 47, 57, 62, 101659f65e0Such /* 9 */ IGN, IGN, IGN, IGN, IGN, IGN, 29, IGN, 102817d2a2cStakemura /*10 */ 27, 125, 13, 203, 208, 40, 115, 68, 1038ff59f4fSnakayama /*11 */ 39, 26, 25, 112, 12, 52, 53, 67, 1048ff59f4fSnakayama /*12 */ 37, 24, 11, 121, 10, 38, 51, 66, 105659f65e0Such /*13 */ 23, 22, 9, IGN, IGN, 36, 50, 65, 106817d2a2cStakemura /*14 */ 28, 43, 14, 200, 205, IGN, IGN, 211, 1078ff59f4fSnakayama /*15 */ IGN, IGN, IGN, IGN, IGN, IGN, 184, IGN 1088ff59f4fSnakayama }; 1098ff59f4fSnakayama 1108ff59f4fSnakayama static const keysym_t tc5165_telios_jp_cmdmap[] = { 1118ff59f4fSnakayama /* pos command normal shifted */ 1128ff59f4fSnakayama KC(184), KS_Cmd, KS_Alt_R, KS_Multi_key, 1138ff59f4fSnakayama KC(205), KS_Cmd_BrightnessUp, KS_Right, 1148ff59f4fSnakayama KC(203), KS_Cmd_BrightnessDown, KS_Left, 1158ff59f4fSnakayama KC(57), KS_Cmd_BacklightToggle,KS_space, 116659f65e0Such }; 117659f65e0Such 11880e190d1Suwe const uint8_t tc5165_compaq_c_jp_keymap[] = { 119659f65e0Such /* 0 1 2 3 4 5 6 7 */ 120659f65e0Such /* 0 */ 38, 50, 49, 48, 47, 46, 45, 44, 121659f65e0Such /* 1 */ 56, IGN, IGN, IGN, IGN, IGN, IGN, IGN, 122659f65e0Such /* 2 */ 13, IGN, 112, 121, 123, 41, 28, 57, 123817d2a2cStakemura /* 3 */ 205, 203, 208, 200, 39, 53, 52, 51, 124659f65e0Such /* 4 */ 24, 25, 40, IGN, 43, 26, 115, 58, 125659f65e0Such /* 5 */ 54, IGN, IGN, IGN, IGN, IGN, IGN, IGN, 126659f65e0Such /* 6 */ IGN, IGN, IGN, SPL, IGN, IGN, IGN, IGN, /* Light */ 127659f65e0Such /* 7 */ IGN, IGN, IGN, IGN, IGN, IGN, IGN, IGN, 128659f65e0Such /* 8 */ 42, IGN, IGN, IGN, IGN, IGN, IGN, IGN, 129659f65e0Such /* 9 */ 29, IGN, IGN, IGN, IGN, IGN, IGN, IGN, 130659f65e0Such /*10 */ 221, IGN, IGN, IGN, IGN, IGN, IGN, IGN, 131659f65e0Such /*11 */ 221, IGN, IGN, IGN, IGN, IGN, IGN, IGN, 132659f65e0Such /*12 */ 14, 27, 12, 11, 10, 15, 1, 125, 133659f65e0Such /*13 */ 9, 8, 7, 6, 5, 4, 3, 2, 134659f65e0Such /*14 */ 23, 22, 21, 20, 19, 18, 17, 16, 135659f65e0Such /*15 */ 37, 36, 35, 34, 33, 32, 31, 30 136659f65e0Such }; 137659f65e0Such 138659f65e0Such const int tc5165_compaq_c_jp_special_keymap[] = { 139659f65e0Such [KEY_SPECIAL_OFF] = -1, /* don't have off button */ 140659f65e0Such [KEY_SPECIAL_LIGHT] = 51 141659f65e0Such }; 142659f65e0Such 14380e190d1Suwe const uint8_t m38813c_keymap[] = { 144659f65e0Such /* 0 1 2 3 4 5 6 7 */ 145659f65e0Such /* 0 */ 0, 1, 2, 3, 4, 5, 6, 7, 146659f65e0Such /* 1 */ 8, 9, 10, 11, 12, 13, 14, 15, 147659f65e0Such /* 2 */ 16, 17, 18, 19, 20, 21, 22, 23, 148659f65e0Such /* 3 */ 24, 25, 26, 27, 28, 29, 30, 31, 149659f65e0Such /* 4 */ 32, 33, 34, 35, 36, 37, 38, 39, 150659f65e0Such /* 5 */ 40, 41, 42, 43, 44, 45, 46, 47, 151659f65e0Such /* 6 */ 48, 49, 50, 51, 52, 53, 54, 55, 152659f65e0Such /* 7 */ 56, 57, 58, 59, 60, 61, 62, 63, 153659f65e0Such /* 8 */ 64, 65, 66, 67, 68, 69, 70, 71, 154817d2a2cStakemura /* 9 */ 200, 73, 74, 203, 76, 205, 78, 79, 155817d2a2cStakemura /*10 */ 208, 81, 82, 83, 84, 85, 86, 87, 156659f65e0Such /*11 */ 88, 89, 90, 91, 92, 93, 94, 95, 157659f65e0Such /*12 */ 96, 97, 98, 99, 100, 101, 102, 103, 158659f65e0Such /*13 */ 104, 105, 106, 107, 108, 109, 110, 111, 159659f65e0Such /*14 */ 112, 113, 114, 115, 116, 117, 118, 119, 160659f65e0Such /*15 */ 120, 121, 122, 123, 124, 125, 126, 127 161659f65e0Such }; 162659f65e0Such 163659f65e0Such /* NEC MobileGearII MCR series (Japan) */ 16480e190d1Suwe static uint8_t mcr_jp_keytrans[] = { 165659f65e0Such /*00 right ent p . y b z space */ 166659f65e0Such /*08 down / o , t v a nfer */ 167659f65e0Such /*10 left \ i m r c w menu */ 168659f65e0Such /*18 ^ - u - e x q 1 */ 169659f65e0Such /*20 pgdn h/z 0 l : g tab f1 */ 170659f65e0Such /*28 xfer ; 9 n 5 f 2 k */ 171659f65e0Such /*30 up [ 8 j 4 d 6 - */ 172659f65e0Such /*38 - @ 7 h 3 ] s - */ 173659f65e0Such /*40 caps - - - bs fnc f8 f3 */ 174659f65e0Such /*48 - alt - - | k/h f7 f4 */ 175659f65e0Such /*50 - - ctrl - f10 pgup f6 f2 */ 176659f65e0Such /*58 - - - shift del f9 f5 esc */ 177659f65e0Such /*----------------------------------------------------------------------*/ 178817d2a2cStakemura /*00*/ 205, 28, 25, 52, 21, 48, 44, 57, 179817d2a2cStakemura /*08*/ 208, 53, 24, 51, 20, 47, 30, 123, 180817d2a2cStakemura /*10*/ 203, 115, 23, 50, 19, 46, 17, 221, 181659f65e0Such /*18*/ 13, IGN, 22, IGN, 18, 45, 16, 2, 182659f65e0Such /*20*/ 81, 41, 11, 38, 40, 34, 15, 59, 183659f65e0Such /*28*/ 121, 39, 10, 49, 6, 33, 3, 37, 184817d2a2cStakemura /*30*/ 200, 27, 9, 36, 5, 32, 7, IGN, 185659f65e0Such /*38*/ 12, 26, 8, 35, 4, 43, 31, IGN, 186659f65e0Such /*40*/ 58, IGN, IGN, IGN, 14, 184, 66, 61, 187659f65e0Such /*48*/ IGN, 56, IGN, IGN, 125, 112, 65, 62, 188659f65e0Such /*50*/ IGN, IGN, 29, IGN, 68, 73, 64, 60, 189659f65e0Such /*58*/ IGN, IGN, IGN, 42, 14, 67, 63, 1, 190659f65e0Such }; 191659f65e0Such 192659f65e0Such static const keysym_t mcr_jp_cmdmap[] = { 193659f65e0Such /* pos command normal shifted */ 194659f65e0Such KC(184), KS_Cmd, KS_Alt_R, KS_Multi_key, 195659f65e0Such KC(73), KS_Cmd_BrightnessUp, KS_KP_Prior, KS_KP_9, 196659f65e0Such KC(81), KS_Cmd_BrightnessDown, KS_KP_Next, KS_KP_3, 197659f65e0Such KC(51), KS_Cmd_ContrastDown, KS_comma, KS_less, 198659f65e0Such KC(52), KS_Cmd_ContrastUp, KS_period, KS_greater, 199659f65e0Such KC(57), KS_Cmd_BacklightToggle,KS_space, 200659f65e0Such }; 201659f65e0Such 202659f65e0Such /* IBM WorkPad z50 */ 20380e190d1Suwe static uint8_t z50_keytrans[] = { 204659f65e0Such /*00 f1 f3 f5 f7 f9 - - f11 */ 205659f65e0Such /*08 f2 f4 f6 f8 f10 - - f12 */ 206659f65e0Such /*10 ' [ - 0 p ; up / */ 207659f65e0Such /*18 - - - 9 o l . - */ 208659f65e0Such /*20 left ] = 8 i k , - */ 209659f65e0Such /*28 h y 6 7 u j m n */ 210659f65e0Such /*30 - bs num del - \ ent sp */ 211659f65e0Such /*38 g t 5 4 r f v b */ 212659f65e0Such /*40 - - - 3 e d c right */ 213659f65e0Such /*48 - - - 2 w s x down */ 214659f65e0Such /*50 esc tab ~ 1 q a z - */ 215659f65e0Such /*58 menu Ls Lc Rc La Ra Rs - */ 216659f65e0Such /*----------------------------------------------------------------------*/ 217659f65e0Such /*00*/ 59, 61, 63, 65, 67, IGN, IGN, 87, 218659f65e0Such /*08*/ 60, 62, 64, 66, 68, IGN, IGN, 88, 219817d2a2cStakemura /*10*/ 40, 26, 12, 11, 25, 39, 200, 53, 220659f65e0Such /*18*/ IGN, IGN, IGN, 10, 24, 38, 52, IGN, 221817d2a2cStakemura /*20*/ 203, 27, 13, 9, 23, 37, 51, IGN, 222659f65e0Such /*28*/ 35, 21, 7, 8, 22, 36, 50, 49, 223659f65e0Such /*30*/ IGN, 14, 69, 14, IGN, 43, 28, 57, 224659f65e0Such /*38*/ 34, 20, 6, 5, 19, 33, 47, 48, 225817d2a2cStakemura /*40*/ IGN, IGN, IGN, 4, 18, 32, 46, 205, 226817d2a2cStakemura /*48*/ IGN, IGN, IGN, 3, 17, 31, 45, 208, 227659f65e0Such /*50*/ 1, 15, 41, 2, 16, 30, 44, IGN, 228659f65e0Such /*58*/ 221, 42, 29, 29, 56, 56, 54, IGN, 229659f65e0Such }; 230659f65e0Such 231659f65e0Such /* Sharp Tripad PV6000 and VADEM CLIO */ 23280e190d1Suwe static uint8_t tripad_keytrans[] = { 233659f65e0Such /*00 lsh tab ` q esc 1 WIN - */ 234659f65e0Such /*08 ctrl z x a s w e 2 */ 235659f65e0Such /*10 lalt sp c v d f r 3 */ 236659f65e0Such /*18 b n g h t y 4 5 */ 237659f65e0Such /*20 m , j k u i 6 7 */ 238659f65e0Such /*28 Fn caps l o p 8 9 0 */ 239659f65e0Such /*30 [ ] la . / ; - = */ 240659f65e0Such /*38 rsh ra ua da ' ent \ del */ 241659f65e0Such /*40 - - - - - - - - */ 242659f65e0Such /*48 - - - - - - - - */ 243659f65e0Such /*50 - - - - - - - - */ 244659f65e0Such /*58 - - - - - - - - */ 245659f65e0Such /*----------------------------------------------------------------------*/ 246659f65e0Such /*00*/ 42, 15, 41, 16, 1, 2, 104, 221, 247659f65e0Such /*08*/ 29, 44, 45, 30, 31, 17, 18, 3, 248659f65e0Such /*10*/ 56, 57, 46, 47, 32, 33, 19, 4, 249659f65e0Such /*18*/ 48, 49, 34, 35, 20, 21, 5, 6, 250659f65e0Such /*20*/ 50, 51, 36, 37, 22, 23, 7, 8, 2512cfc946fStsutsui /*28*/ 184, 58, 38, 24, 25, 9, 10, 11, 252817d2a2cStakemura /*30*/ 26, 27, 203, 52, 53, 39, 12, 13, 253817d2a2cStakemura /*38*/ 54, 205, 200, 208, 40, 28, 43, 14, 254659f65e0Such /*40*/ IGN, IGN, IGN, IGN, IGN, IGN, IGN, IGN, 255659f65e0Such /*48*/ IGN, IGN, IGN, IGN, IGN, IGN, IGN, IGN, 256659f65e0Such /*50*/ IGN, IGN, IGN, IGN, IGN, IGN, IGN, IGN, 257659f65e0Such /*58*/ IGN, IGN, IGN, IGN, IGN, IGN, IGN, IGN, 258659f65e0Such }; 259659f65e0Such 2602cfc946fStsutsui static const keysym_t tripad_cmdmap[] = { 2612cfc946fStsutsui /* pos command normal shifted fn */ 2622cfc946fStsutsui KC(2), KS_Cmd_Screen0, KS_1, KS_exclam, KS_f1, 2632cfc946fStsutsui KC(3), KS_Cmd_Screen1, KS_2, KS_at, KS_f2, 2642cfc946fStsutsui KC(4), KS_Cmd_Screen2, KS_3, KS_numbersign, KS_f3, 2652cfc946fStsutsui KC(5), KS_Cmd_Screen3, KS_4, KS_dollar, KS_f4, 2662cfc946fStsutsui KC(6), KS_Cmd_Screen4, KS_5, KS_percent, KS_f5, 2672cfc946fStsutsui KC(7), KS_Cmd_Screen5, KS_6, KS_asciicircum, KS_f6, 2682cfc946fStsutsui KC(8), KS_Cmd_Screen6, KS_7, KS_ampersand, KS_f7, 2692cfc946fStsutsui KC(9), KS_Cmd_Screen7, KS_8, KS_asterisk, KS_f8, 2702cfc946fStsutsui KC(10), KS_Cmd_Screen8, KS_9, KS_parenleft, KS_f9, 2712cfc946fStsutsui KC(11), KS_Cmd_Screen9, KS_0, KS_parenright, KS_f10, 2722cfc946fStsutsui KC(12), KS_Cmd_BrightnessDown, KS_minus, KS_underscore, KS_f11, 2732cfc946fStsutsui KC(13), KS_Cmd_BrightnessUp, KS_equal, KS_plus, KS_f12, 2742cfc946fStsutsui KC(20), KS_Cmd_BacklightToggle, KS_t, 2752cfc946fStsutsui KC(33), KS_Cmd_BacklightOff, KS_f, 2762cfc946fStsutsui KC(49), KS_Cmd_BacklightOn, KS_n, 2772cfc946fStsutsui KC(51), KS_Cmd_ContrastDown, KS_comma, KS_less, 2782cfc946fStsutsui KC(52), KS_Cmd_ContrastUp, KS_period, KS_greater, 2792cfc946fStsutsui KC(184), KS_Mode_switch, KS_Multi_key, 2802cfc946fStsutsui KC(200), KS_Cmd_ScrollSlowUp, KS_Up, KS_Up, KS_Prior, 2812cfc946fStsutsui KC(203), KS_Cmd_ScrollFastUp, KS_Left, KS_Left, KS_Home, 2822cfc946fStsutsui KC(205), KS_Cmd_ScrollFastDown, KS_Right, KS_Right, KS_End, 2832cfc946fStsutsui KC(208), KS_Cmd_ScrollSlowDown, KS_Down, KS_Down, KS_Next, 2842cfc946fStsutsui }; 2852cfc946fStsutsui 286659f65e0Such /* NEC Mobile Gear MCCS series */ 28780e190d1Suwe static uint8_t mccs_keytrans[] = { 288659f65e0Such /*00 caps cr rar p . y b z */ 289659f65e0Such /*08 alt [ dar o , t v a */ 290659f65e0Such /*10 zen @ lar i m r c w */ 291659f65e0Such /*18 lctrl ; uar u n e x q */ 292659f65e0Such /*20 lshft bs \ 0 l 6 g tab */ 293659f65e0Such /*28 nconv | / 9 k 5 f 2 */ 294659f65e0Such /*30 conv = ] 8 j 4 d 1 */ 295659f65e0Such /*38 hira - ' 7 h 3 s esc */ 296659f65e0Such /*40 - sp - - - - - - */ 297659f65e0Such /*48 - - - - - - - - */ 298659f65e0Such /*50 - - - - - - - - */ 299659f65e0Such /*58 - - - - - - - - */ 300659f65e0Such /*----------------------------------------------------------------------*/ 301817d2a2cStakemura /*00*/ 58, 28, 205, 25, 52, 21, 48, 44, 302817d2a2cStakemura /*08*/ 56, 27, 208, 24, 51, 20, 47, 30, 303817d2a2cStakemura /*10*/ 41, 26, 203, 23, 50, 19, 46, 17, 304817d2a2cStakemura /*18*/ 29, 39, 200, 22, 49, 18, 45, 16, 305659f65e0Such /*20*/ 42, 14, 115, 11, 38, 7, 34, 15, 306659f65e0Such /*28*/ 123, 125, 53, 10, 37, 6, 33, 3, 307659f65e0Such /*30*/ 121, 13, 43, 9, 36, 5, 32, 2, 308659f65e0Such /*38*/ 112, 12, 40, 8, 35, 4, 31, 1, 309659f65e0Such /*40*/ IGN, 57, IGN, IGN, IGN, IGN, IGN, IGN, 310659f65e0Such /*48*/ IGN, IGN, IGN, IGN, IGN, IGN, IGN, IGN, 311659f65e0Such /*50*/ IGN, IGN, IGN, IGN, IGN, IGN, IGN, IGN, 312659f65e0Such /*58*/ IGN, IGN, IGN, IGN, IGN, IGN, IGN, IGN, 313659f65e0Such }; 314659f65e0Such 315659f65e0Such static const keysym_t mccs_cmdmap[] = { 316659f65e0Such /* pos command normal shifted */ 317659f65e0Such KC(51), KS_Cmd_ContrastDown, KS_comma, KS_less, 318659f65e0Such KC(52), KS_Cmd_ContrastUp, KS_period, KS_greater, 319659f65e0Such KC(57), KS_Cmd_BacklightToggle,KS_space, 320659f65e0Such }; 321659f65e0Such 32280e190d1Suwe static uint8_t mobilepro_keytrans[] = { 323caf5e039Stakemura /*00 space ] \ / left down enter l */ 324caf5e039Stakemura /*08 - [ ' ; right up . o */ 325659f65e0Such /*10 - - - Windows v c x z */ 326659f65e0Such /*18 - = \- ` f d s a */ 327659f65e0Such /*20 8 7 6 5 r e w q */ 328659f65e0Such /*28 , m n b - - 0 9 */ 329659f65e0Such /*30 k j h g 4 3 2 1 */ 330659f65e0Such /*38 i u y t - caps del esc */ 331659f65e0Such /*40 alt_R - - - BS p TAB Fn */ 3325531835eSsato /*48 - alt_L - - pgdn pgup f10 f9 */ 333659f65e0Such /*50 - - ctrl - f8 f7 f6 f5 */ 334659f65e0Such /*58 - - - shift f4 f3 f2 f1 */ 335659f65e0Such /*----------------------------------------------------------------------*/ 336817d2a2cStakemura /*00*/ 57, 27, 43, 53, 203, 208, 28, 38, 337817d2a2cStakemura /*08*/ IGN, 26, 40, 39, 205, 200, 52, 24, 338659f65e0Such /*10*/ IGN, IGN, IGN, 221, 47, 46, 45, 44, 339659f65e0Such /*18*/ IGN, 13, 12, 41, 33, 32, 31, 30, 340659f65e0Such /*20*/ 9, 8, 7, 6, 19, 18, 17, 16, 341659f65e0Such /*28*/ 51, 50, 49, 48, IGN, IGN, 11, 10, 342659f65e0Such /*30*/ 37, 36, 35, 34, 5, 4, 3, 2, 343659f65e0Such /*38*/ 23, 22, 21, 20, IGN, 58, 14, 1, 3445531835eSsato /*40*/ 184, IGN, IGN, IGN, 14, 25, 15, 219, 3455531835eSsato /*48*/ IGN, 56, IGN, IGN, 81, 73, 68, 67, 346659f65e0Such /*50*/ IGN, IGN, 29, IGN, 66, 65, 64, 63, 347659f65e0Such /*58*/ IGN, IGN, IGN, 42, 62, 61, 60, 59, 348659f65e0Such }; 349659f65e0Such 3505531835eSsato static const keysym_t mobilepro_cmdmap[] = { 3515531835eSsato /* pos command normal shifted */ 3525531835eSsato KC(219), KS_Cmd, KS_Meta_L, KS_Multi_key, 3535531835eSsato KC(73), KS_Cmd_BrightnessUp, KS_KP_Prior, KS_KP_9, 3545531835eSsato KC(81), KS_Cmd_BrightnessDown, KS_KP_Next, KS_KP_3, 3555531835eSsato KC(51), KS_Cmd_ContrastDown, KS_comma, KS_less, 3565531835eSsato KC(52), KS_Cmd_ContrastUp, KS_period, KS_greater, 3575531835eSsato KC(57), KS_Cmd_BacklightToggle,KS_space, 3585531835eSsato }; 3595531835eSsato 360659f65e0Such /* NEC MobilePro 750c by "Castor Fu" <castor@geocast.com> */ 36180e190d1Suwe static uint8_t mobilepro750c_keytrans[] = { 362659f65e0Such /*00 right \ p . y b z space */ 363659f65e0Such /*08 down / o , t v a - */ 364659f65e0Such /*10 left enter i m r c w Win */ 365659f65e0Such /*18 num ] u n e x q caps */ 366659f65e0Such /*20 pgdn - 0 l : g tab esc */ 367659f65e0Such /*28 - ; 9 k 5 f 2 ` */ 368659f65e0Such /*30 up [ 8 j 4 d 1 ' */ 369659f65e0Such /*38 - @ 7 h 3 s del - */ 370659f65e0Such /*40 shift - - - bs f12 f8 f4 */ 371659f65e0Such /*48 - alt - - | f11 f7 f3 */ 372659f65e0Such /*50 - - ctrl - f10 f10 f6 f2 */ 373659f65e0Such /*58 - - - shift del f9 f5 f1 */ 374659f65e0Such /*----------------------------------------------------------------------*/ 375817d2a2cStakemura /*00*/ 205, 43, 25, 52, 21, 48, 44, 57, 376817d2a2cStakemura /*08*/ 208, 53, 24, 51, 20, 47, 30, IGN, 377817d2a2cStakemura /*10*/ 203, 28, 23, 50, 19, 46, 17, 221, 378659f65e0Such /*18*/ 69, 27, 22, 49, 18, 45, 16, 58, 379659f65e0Such /*20*/ 81, IGN, 11, 38, 7, 34, 15, 1, 380659f65e0Such /*28*/ IGN, 39, 10, 37, 6, 33, 3, 41, 381817d2a2cStakemura /*30*/ 200, 26, 9, 36, 5, 32, 2, 40, 382659f65e0Such /*38*/ 12, 26, 8, 35, 4, 31, 83, IGN, 383659f65e0Such /*40*/ 42, IGN, IGN, IGN, 14, 88, 66, 62, 384659f65e0Such /*48*/ IGN, 56, IGN, IGN, 125, 87, 65, 61, 385659f65e0Such /*50*/ IGN, IGN, 29, IGN, 68, 68, 64, 60, 386659f65e0Such /*58*/ IGN, IGN, IGN, 42, 13, 67, 63, 59, 387659f65e0Such }; 388659f65e0Such 389caf5e039Stakemura /* NEC MobilePro 780 */ 39080e190d1Suwe static uint8_t mobilepro780_keytrans[] = { 391caf5e039Stakemura /*00 space ] \ / left right enter l */ 392caf5e039Stakemura /*08 - [ ' ; up down . o */ 393caf5e039Stakemura /*10 - - - Windows v c x z */ 394caf5e039Stakemura /*18 - = \- ` f d s a */ 395caf5e039Stakemura /*20 8 7 6 5 r e w q */ 396caf5e039Stakemura /*28 , m n b - - 0 9 */ 397caf5e039Stakemura /*30 k j h g 4 3 2 1 */ 398caf5e039Stakemura /*38 i u y t - caps del esc */ 399caf5e039Stakemura /*40 alt_R - - - BS p TAB Fn */ 400caf5e039Stakemura /*48 - alt_L - - f12 f11 f10 f9 */ 401caf5e039Stakemura /*50 - - ctrl - f8 f7 f6 f5 */ 402caf5e039Stakemura /*58 - - - shift f4 f3 f2 f1 */ 403caf5e039Stakemura /*----------------------------------------------------------------------*/ 404caf5e039Stakemura /*00*/ 57, 27, 43, 53, 203, 205, 28, 38, 405caf5e039Stakemura /*08*/ IGN, 26, 40, 39, 200, 208, 52, 24, 406caf5e039Stakemura /*10*/ IGN, IGN, IGN, 221, 47, 46, 45, 44, 407caf5e039Stakemura /*18*/ IGN, 13, 12, 41, 33, 32, 31, 30, 408caf5e039Stakemura /*20*/ 9, 8, 7, 6, 19, 18, 17, 16, 409caf5e039Stakemura /*28*/ 51, 50, 49, 48, IGN, IGN, 11, 10, 410caf5e039Stakemura /*30*/ 37, 36, 35, 34, 5, 4, 3, 2, 411caf5e039Stakemura /*38*/ 23, 22, 21, 20, IGN, 58, 14, 1, 412caf5e039Stakemura /*40*/ 184, IGN, IGN, IGN, 14, 25, 15, IGN, 413caf5e039Stakemura /*48*/ IGN, 56, IGN, IGN, 88, 87, 68, 67, 414caf5e039Stakemura /*50*/ IGN, IGN, 29, IGN, 66, 65, 64, 63, 415caf5e039Stakemura /*58*/ IGN, IGN, IGN, 42, 62, 61, 60, 59, 416caf5e039Stakemura }; 417caf5e039Stakemura 41889349d30Stv /* NEC MobilePro 8x0 */ 41980e190d1Suwe static uint8_t mobilepro8x0_keytrans[] = { 42089349d30Stv /*00 space ] \ / left right enter l */ 42189349d30Stv /*08 - [ ' ; up down . o */ 42289349d30Stv /*10 - - - Windows v c x z */ 42389349d30Stv /*18 - = \- ` f d s a */ 42489349d30Stv /*20 8 7 6 5 r e w q */ 42589349d30Stv /*28 , m n b - - 0 9 */ 42689349d30Stv /*30 k j h g 4 3 2 1 */ 42789349d30Stv /*38 i u y t - caps del esc */ 42889349d30Stv /*40 alt_R - - - BS p TAB Fn */ 42989349d30Stv /*48 - alt_L - - pgdn pgup f10 f9 */ 43089349d30Stv /*50 - - ctrl - f8 f7 f6 f5 */ 43189349d30Stv /*58 - - - shift f4 f3 f2 f1 */ 43289349d30Stv /*----------------------------------------------------------------------*/ 43389349d30Stv /*00*/ 57, 27, 43, 53, 203, 205, 28, 38, 43489349d30Stv /*08*/ IGN, 26, 40, 39, 200, 208, 52, 24, 43589349d30Stv /*10*/ IGN, IGN, IGN, 221, 47, 46, 45, 44, 43689349d30Stv /*18*/ IGN, 13, 12, 41, 33, 32, 31, 30, 43789349d30Stv /*20*/ 9, 8, 7, 6, 19, 18, 17, 16, 43889349d30Stv /*28*/ 51, 50, 49, 48, IGN, IGN, 11, 10, 43989349d30Stv /*30*/ 37, 36, 35, 34, 5, 4, 3, 2, 44089349d30Stv /*38*/ 23, 22, 21, 20, IGN, 58, 14, 1, 44189349d30Stv /*40*/ 184, IGN, IGN, IGN, 14, 25, 15, 219, 44289349d30Stv /*48*/ IGN, 56, IGN, IGN, 81, 73, 68, 67, 44389349d30Stv /*50*/ IGN, IGN, 29, IGN, 66, 65, 64, 63, 44489349d30Stv /*58*/ IGN, IGN, IGN, 42, 62, 61, 60, 59, 44589349d30Stv }; 44689349d30Stv 44789349d30Stv static const keysym_t mobilepro8x0_cmdmap[] = { 44889349d30Stv /* pos command normal shifted */ 44989349d30Stv KC(219), KS_Cmd, KS_Meta_L, KS_Multi_key, 45089349d30Stv KC(73), KS_Cmd_BrightnessUp, KS_KP_Prior, KS_KP_9, 45189349d30Stv KC(81), KS_Cmd_BrightnessDown, KS_KP_Next, KS_KP_3, 45289349d30Stv KC(51), KS_Cmd_ContrastDown, KS_comma, KS_less, 45389349d30Stv KC(52), KS_Cmd_ContrastUp, KS_period, KS_greater, 45489349d30Stv KC(57), KS_Cmd_BacklightToggle,KS_space, 45589349d30Stv }; 45689349d30Stv 457659f65e0Such /* FUJITSU INTERTOP CX300 */ 45880e190d1Suwe static uint8_t intertop_keytrans[] = { 459659f65e0Such /*00 space a2 1 tab enter caps left zenkaku */ 460659f65e0Such /*08 hiraga a1 2 q - a fnc esc */ 461659f65e0Such /*10 ins w 3 s del ] down x */ 462659f65e0Such /*18 z e 4 d a10 \ right c */ 463659f65e0Such /*20 backsla r ; f a9 @ ^ v */ 464659f65e0Such /*28 / t 5 g a8 p - b */ 465659f65e0Such /*30 . y 6 h a7 l 0 n */ 466659f65e0Such /*38 - u 7 j a5 o bs m */ 467659f65e0Such /*40 - a3 8 a4 - i k , */ 468659f65e0Such /*48 num : 9 [ a6 - up - */ 469659f65e0Such /*50 - - - - shift_L - - shift_R */ 470659f65e0Such /*58 ctrl win muhenka henkan alt - - - */ 471659f65e0Such /*----------------------------------------------------------------------*/ 472817d2a2cStakemura /*00*/ 57, 60, 2, 15, 28, 58, 205, 41, 473659f65e0Such /*08*/ 112, 59, 3, 16, IGN, 30, 56, 1, 474817d2a2cStakemura /*10*/ 210, 17, 4, 31, 83, 43, 208, 45, 475817d2a2cStakemura /*18*/ 44, 18, 5, 32, 68, 125, 203, 46, 476659f65e0Such /*20*/ 115, 19, 39, 33, 67, 26, 13, 47, 477659f65e0Such /*28*/ 53, 20, 6, 34, 66, 25, 12, 48, 478659f65e0Such /*30*/ 52, 21, 7, 35, 65, 38, 11, 49, 479659f65e0Such /*38*/ IGN, 22, 8, 36, 63, 24, 14, 50, 480659f65e0Such /*40*/ IGN, 61, 9, 62, IGN, 23, 37, 51, 481817d2a2cStakemura /*48*/ 69, 40, 10, 27, 64, IGN, 200, IGN, 482659f65e0Such /*50*/ IGN, IGN, IGN, IGN, 42, IGN, IGN, 54, 483659f65e0Such /*58*/ 29, 221, 123, 121, 184, IGN, IGN, IGN, 484659f65e0Such }; 485659f65e0Such 486659f65e0Such /* DoCoMo sigmarion (Japan) */ 48780e190d1Suwe static uint8_t sigmarion_jp_keytrans[] = { 488659f65e0Such /*00 right ent p . y b z space */ 489659f65e0Such /*08 down / o , t v a nfer */ 490659f65e0Such /*10 left \ i m r c w menu */ 491659f65e0Such /*18 | - u - e x q 1 */ 492659f65e0Such /*20 pgdn h/z 0 l : g tab f1 */ 493659f65e0Such /*28 xfer ; 9 n 5 f 2 k */ 494659f65e0Such /*30 up [ 8 j 4 d 6 - */ 495659f65e0Such /*38 - @ 7 h 3 ] s - */ 496659f65e0Such /*40 caps - - - bs fnc f8 f3 */ 497659f65e0Such /*48 - alt - - ^ k/h f7 f4 */ 498659f65e0Such /*50 - - ctrl - f10 pgup f6 f2 */ 499659f65e0Such /*58 - - - shift del f9 f5 esc */ 500659f65e0Such /*----------------------------------------------------------------------*/ 501817d2a2cStakemura /*00*/ 205, 28, 25, 52, 21, 48, 44, 57, 502817d2a2cStakemura /*08*/ 208, 53, 24, 51, 20, 47, 30, 123, 503817d2a2cStakemura /*10*/ 203, 115, 23, 50, 19, 46, 17, 221, 504659f65e0Such /*18*/ 125, IGN, 22, IGN, 18, 45, 16, 2, 505659f65e0Such /*20*/ 81, 41, 11, 38, 40, 34, 15, IGN, 506659f65e0Such /*28*/ 121, 39, 10, 49, 6, 33, 3, 37, 507817d2a2cStakemura /*30*/ 200, 27, 9, 36, 5, 32, 7, IGN, 508659f65e0Such /*38*/ 12, 26, 8, 35, 4, 43, 31, IGN, 509659f65e0Such /*40*/ 58, IGN, IGN, IGN, 14, 184, 66, IGN, 510659f65e0Such /*48*/ IGN, 56, IGN, IGN, 13, 112, 65, IGN, 511659f65e0Such /*50*/ IGN, IGN, 29, IGN, 68, 73, 64, IGN, 512659f65e0Such /*58*/ IGN, IGN, IGN, 42, 14, 67, IGN, 1, 513659f65e0Such }; 514659f65e0Such 515659f65e0Such static const keysym_t sigmarion_cmdmap[] = { 516659f65e0Such /* pos command normal shifted */ 517659f65e0Such KC(184), KS_Cmd, KS_Alt_R, KS_Multi_key, 518a71959e5Ssato KC(64), KS_Cmd_Screen0, KS_f6, KS_f1, 519a71959e5Ssato KC(65), KS_Cmd_Screen1, KS_f7, KS_f2, 520a71959e5Ssato KC(66), KS_Cmd_Screen2, KS_f8, KS_f3, 521a71959e5Ssato KC(67), KS_Cmd_Screen3, KS_f9, KS_f4, 522a71959e5Ssato KC(68), KS_Cmd_Screen4, KS_f10, KS_f5, 523659f65e0Such KC(27), KS_Cmd_BrightnessUp, KS_bracketleft, KS_braceleft, 524659f65e0Such KC(43), KS_Cmd_BrightnessDown, KS_bracketright,KS_braceright, 525659f65e0Such KC(51), KS_Cmd_ContrastDown, KS_comma, KS_less, 526659f65e0Such KC(52), KS_Cmd_ContrastUp, KS_period, KS_greater, 527659f65e0Such KC(57), KS_Cmd_BacklightToggle,KS_space, 528659f65e0Such }; 52949cddb00Stakemura 53049cddb00Stakemura /* NTT DoCoMo Pocket PostPet (Japan) */ 53180e190d1Suwe static uint8_t pocketpostpet_keytrans[] = { 53249cddb00Stakemura /*00 esc 1 q a ctrl - down left */ 53349cddb00Stakemura /*08 tab 2 w s z - right up */ 53449cddb00Stakemura /*10 pgup 3 e d x shift - - */ 53549cddb00Stakemura /*18 pgdn 4 r f c alt - - */ 53649cddb00Stakemura /*20 f5 5 t g v nfer - - */ 53749cddb00Stakemura /*28 f6 6 y h b - - - */ 53849cddb00Stakemura /*30 f7 7 u j n space - - */ 53949cddb00Stakemura /*38 f8 8 i k m - - - */ 54049cddb00Stakemura /*40 f9 9 o l , xfer - - */ 54149cddb00Stakemura /*48 f10 0 p ; . - - - */ 54249cddb00Stakemura /*50 \| minus @ : / ent - - */ 54349cddb00Stakemura /*58 bs ^ [ ] \_ del - - */ 54449cddb00Stakemura /* MailCheck -> tab */ 54549cddb00Stakemura /* Prev -> pgup */ 54649cddb00Stakemura /* Next -> pgdn */ 54749cddb00Stakemura /* tab -> ctrl */ 54849cddb00Stakemura /* h/z -> menu */ 54949cddb00Stakemura /* k/h -> alt */ 55049cddb00Stakemura /* knj -> nfer */ 55149cddb00Stakemura /* eng -> xfer */ 55249cddb00Stakemura /*----------------------------------------------------------------------*/ 55349cddb00Stakemura /*00*/ 1, 2, 16, 30, 29, UNK, 208, 203, 55449cddb00Stakemura /*08*/ 15, 3, 17, 31, 44, UNK, 205, 200, 55549cddb00Stakemura /*10*/ 73, 4, 18, 32, 45, 42, UNK, UNK, 55649cddb00Stakemura /*08*/ 81, 5, 19, 33, 46, 56, UNK, UNK, 55749cddb00Stakemura /*20*/ 63, 6, 20, 34, 47, 123, UNK, UNK, 55849cddb00Stakemura /*28*/ 64, 7, 21, 35, 48, UNK, UNK, UNK, 55949cddb00Stakemura /*30*/ 65, 8, 22, 36, 49, 57, UNK, UNK, 56049cddb00Stakemura /*38*/ 66, 9, 23, 37, 50, UNK, UNK, UNK, 56149cddb00Stakemura /*40*/ 67, 10, 24, 38, 51, 121, UNK, UNK, 56249cddb00Stakemura /*48*/ 68, 11, 25, 39, 52, UNK, UNK, UNK, 56349cddb00Stakemura /*50*/ 125, 12, 26, 40, 53, 28, UNK, UNK, 56449cddb00Stakemura /*58*/ 14, 13, 27, 43, 115, 14, UNK, UNK, 56549cddb00Stakemura }; 566659f65e0Such #endif /* hpcmips */ 567659f65e0Such 56838626ea2Such #ifdef hpcsh 5692f3cc132Such /* 5702f3cc132Such * HP Jornada 680/690 5712f3cc132Such */ 57251243a1cSuch /* Japanese */ 57380e190d1Suwe const uint8_t jornada6x0_jp_keytrans[] = { 57438626ea2Such /* 0 1 2 3 4 5 6 7 */ 57538626ea2Such /* 0 */ 59 , 45 , 31 , 17 , 3 , UNK, 29 , UNK, /* ctrl 29 */ 57638626ea2Such /* 1 */ 60 , 46 , 32 , 18 , 4 , 42 , UNK, UNK, /* shift L 42 */ 57738626ea2Such /* 2 */ 61 , 47 , 33 , 19 , 5 , UNK, 57 , UNK, 57838626ea2Such /* 3 */ 66 , 52 , 38 , 24 , 10 , UNK, 14 , 203, 57938626ea2Such /* 4 */ 65 , 51 , 37 , 23 , 9 , UNK, 115, UNK, 58038626ea2Such /* 5 */ 64 , 50 , 36 , 22 , 8 , UNK, 121, UNK, 58138626ea2Such /* 6 */ 62 , 48 , 34 , 20 , 6 , UNK, UNK, 56 , /* alt 56 */ 58238626ea2Such /* 7 */ 63 , 49 , 35 , 21 , 7 , UNK, UNK, 123, 58338626ea2Such /* 8 */ IGN, 53 , 39 , 25 , 11 , 200, UNK, 208, 58438626ea2Such /* 9 */ 112, 40 , 27 , 26 , 12 , 125, UNK, 205, 58538626ea2Such /*10 */ 41 , 28 , 43 , 14 , 13 , 54 , UNK, UNK, /* shift R 54 */ 58638626ea2Such /*11 */ SPL, IGN, IGN, IGN, IGN, IGN, IGN, IGN, 58738626ea2Such /*12 */ 1 , 44 , 30 , 16 , 2 , 15 , 221, UNK, 58838626ea2Such /*13 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 58938626ea2Such /*14 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 59038626ea2Such /*15 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 59138626ea2Such }; 59238626ea2Such 5931cfc465cSuwe /* US/UK - Fn to the left of the space bar and missing few keys */ 59480e190d1Suwe const uint8_t jornada6x0_us_keytrans[] = { 595eb330e61Such /* 0 1 2 3 4 5 6 7 */ 5960982def9Suwe /* 0 */ 59 , 45 , 31 , 17 , 3 , UNK, 29 , UNK, 5970982def9Suwe /* 1 */ 60 , 46 , 32 , 18 , 4 , 42 , UNK, UNK, 598eb330e61Such /* 2 */ 61 , 47 , 33 , 19 , 5 , UNK, 57 , UNK, 599b83d1442Suwe /* 3 */ 66 , 52 , 38 , 24 , 10 , UNK, 211, 203, 6000982def9Suwe /* 4 */ 65 , 51 , 37 , 23 , 9 , UNK, 53 , UNK, 601eb330e61Such /* 5 */ 64 , 50 , 36 , 22 , 8 , UNK, UNK, UNK, 6020982def9Suwe /* 6 */ 62 , 48 , 34 , 20 , 6 , UNK, UNK, 56 , 6030982def9Suwe /* 7 */ 63 , 49 , 35 , 21 , 7 , UNK, UNK, 184, 6040982def9Suwe /* 8 */ 67 , UNK, 39 , 25 , 11 , 200, UNK, 208, 6050982def9Suwe /* 9 */ 68 , 40 , UNK, 43 , 12 , UNK, UNK, 205, 6060982def9Suwe /*10 */ 87 , 28 , UNK, 14 , 13 , 54 , UNK, UNK, 607eb330e61Such /*11 */ SPL, IGN, IGN, IGN, IGN, IGN, IGN, IGN, 608b83d1442Suwe /*12 */ 1 , 44 , 30 , 16 , 2 , 15 , 219, UNK, 609eb330e61Such /*13 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 610eb330e61Such /*14 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 611eb330e61Such /*15 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 612eb330e61Such }; 613eb330e61Such 6141cfc465cSuwe /* International - AltGr to the right and extra keys in three middle rows */ 61580e190d1Suwe const uint8_t jornada6x0_intl_keytrans[] = { 61651243a1cSuch /* 0 1 2 3 4 5 6 7 */ 61751243a1cSuch /* 0 */ 59 , 45 , 31 , 17 , 3 , UNK, 29 , UNK, 61851243a1cSuch /* 1 */ 60 , 46 , 32 , 18 , 4 , 42 , UNK, UNK, 61951243a1cSuch /* 2 */ 61 , 47 , 33 , 19 , 5 , UNK, 57 , UNK, 6200982def9Suwe /* 3 */ 66 , 52 , 38 , 24 , 10 , UNK, 211, 203, 62151243a1cSuch /* 4 */ 65 , 51 , 37 , 23 , 9 , UNK, 184, UNK, 62251243a1cSuch /* 5 */ 64 , 50 , 36 , 22 , 8 , UNK, UNK, UNK, 62351243a1cSuch /* 6 */ 62 , 48 , 34 , 20 , 6 , UNK, UNK, 56 , 62451243a1cSuch /* 7 */ 63 , 49 , 35 , 21 , 7 , UNK, UNK, 41 , 62551243a1cSuch /* 8 */ 67 , 53 , 39 , 25 , 11 , 200, UNK, 208, 62651243a1cSuch /* 9 */ 68 , 40 , 27 , 26 , 12 , UNK, UNK, 205, 62751243a1cSuch /*10 */ 87 , 28 , 43 , 14 , 13 , 54 , UNK, UNK, 6280982def9Suwe /*11 */ SPL, IGN, IGN, IGN, IGN, IGN, IGN, IGN, 6290982def9Suwe /*12 */ 1 , 44 , 30 , 16 , 2 , 15 , 219, UNK, 63051243a1cSuch /*13 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 63151243a1cSuch /*14 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 6320982def9Suwe /*15 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 63351243a1cSuch }; 63451243a1cSuch 63551243a1cSuch const int jornada6x0_special_keymap[] = { 636eb34a429Such [KEY_SPECIAL_OFF] = -1, 63738626ea2Such [KEY_SPECIAL_LIGHT] = -1 63838626ea2Such }; 63938626ea2Such 64006814ceeSuwe 6412f3cc132Such /* 6422f3cc132Such * HP 620LX 6432f3cc132Such */ 6442f3cc132Such /* Japanese */ 64580e190d1Suwe const uint8_t hp620lx_jp_keytrans[] = { 6462f3cc132Such /* 0 1 2 3 4 5 6 7 */ 6472f3cc132Such /* 0 */ 2 , 16 , 112, UNK, IGN, UNK, 42 , 30 , /* REC button */ 6482f3cc132Such /* 1 */ 3 , 17 , 58 , 44 , UNK, 45 , 15 , 31 , 6492f3cc132Such /* 2 */ 4 , 18 , UNK, 56 , 59 , 46 , 1 , 32 , 6502f3cc132Such /* 3 */ 5 , 19 , UNK, UNK, 60 , 123, UNK, 33 , 6512f3cc132Such /* 4 */ 6 , 20 , 47 , 57 , 61 , 48 , UNK, 34 , 6522f3cc132Such /* 5 */ 7 , 21 , UNK, 121, 62 , 49 , UNK, 35 , 6532f3cc132Such /* 6 */ 8 , 22 , UNK, 125, 63 , 50 , UNK, 36 , 6542f3cc132Such /* 7 */ 9 , 23 , 52 , 115, 64 , 51 , UNK, 37 , 6552f3cc132Such /* 8 */ 10 , 24 , 53 , 203, 65 , 200, 39 , 38 , 6562f3cc132Such /* 9 */ 11 , 25 , 40 , 208, 66 , 205, 27 , 26 , 6572f3cc132Such /*10 */ 12 , 13 , 28 , UNK, UNK, UNK, 41 , 43 , 6582f3cc132Such /*11 */ SPL, IGN, IGN, IGN, IGN, IGN, IGN, IGN, /* ON button */ 6592f3cc132Such /*12 */ 29 , IGN, IGN, IGN, IGN, IGN, IGN, IGN, 6602f3cc132Such /*13 */ 14 , IGN, IGN, IGN, IGN, IGN, IGN, IGN, 6612f3cc132Such /*14 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 6622f3cc132Such /*15 */ SPL, IGN, IGN, IGN, IGN, IGN, IGN, IGN /* LED button */ 6632f3cc132Such }; 6642f3cc132Such 66506814ceeSuwe /* Other models */ 66606814ceeSuwe const uint8_t hp620lx_intl_keytrans[] = { 66706814ceeSuwe /* 0 1 2 3 4 5 6 7 */ 66806814ceeSuwe /* 0 */ 2 , 16 , 219, UNK, IGN, UNK, 42 , 30 , /* REC button */ 66906814ceeSuwe /* 1 */ 3 , 17 , 15 , 44 , UNK, 45 , 41 , 31 , 67006814ceeSuwe /* 2 */ 4 , 18 , UNK, 69 , 59 , 46 , 1 , 32 , 67106814ceeSuwe /* 3 */ 5 , 19 , UNK, UNK, 60 , 56 , UNK, 33 , 67206814ceeSuwe /* 4 */ 6 , 20 , 47 , 57 , 61 , 48 , UNK, 34 , 67306814ceeSuwe /* 5 */ 7 , 21 , UNK, UNK, 62 , 49 , UNK, 35 , 67406814ceeSuwe /* 6 */ 8 , 22 , UNK, 184, 63 , 50 , UNK, 36 , 67506814ceeSuwe /* 7 */ 9 , 23 , 52 , 211, 64 , 51 , UNK, 37 , 67606814ceeSuwe /* 8 */ 10 , 24 , 53 , 203, 65 , 200, 39 , 38 , 67706814ceeSuwe /* 9 */ 11 , 25 , 40 , 208, 66 , 205, 27 , 26 , 67806814ceeSuwe /*10 */ 12 , 13 , 28 , UNK, UNK, UNK, 54 , 43 , 67906814ceeSuwe /*11 */ SPL, IGN, IGN, IGN, IGN, IGN, IGN, IGN, /* ON button */ 68006814ceeSuwe /*12 */ 29 , IGN, IGN, IGN, IGN, IGN, IGN, IGN, 68106814ceeSuwe /*13 */ 14 , IGN, IGN, IGN, IGN, IGN, IGN, IGN, 68206814ceeSuwe /*14 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 68306814ceeSuwe /*15 */ SPL, IGN, IGN, IGN, IGN, IGN, IGN, IGN /* LED button */ 68406814ceeSuwe }; 68506814ceeSuwe 6862f3cc132Such const int hp620lx_special_keymap[] = { 687d04123caSpeter [KEY_SPECIAL_OFF] = -1, /* 88 */ 6882f3cc132Such [KEY_SPECIAL_LIGHT] = 120 6892f3cc132Such }; 6902f3cc132Such 69106814ceeSuwe 6921877683fSuch /* 6931877683fSuch * HITACHI PERSONA HPW50PAD 6941877683fSuch */ 6951877683fSuch /* Japanese */ 69680e190d1Suwe const uint8_t persona_hpw50pad_jp_keytrans[] = { 6971877683fSuch /* 0 1 2 3 4 5 6 7 */ 698a1e2e32eSuwe /* 0 */ 59 , 61 , 63 , 65 , 67 , SPL, UNK, UNK, /* ON button */ 699a1e2e32eSuwe /* 1 */ 29 , UNK, 47 , 48 , 121, UNK, UNK, UNK, 700a1e2e32eSuwe /* 2 */ 1 , UNK, 34 , 51 , 112, UNK, UNK, UNK, 701a1e2e32eSuwe /* 3 */ 41 , 221, 35 , 37 , 52 , UNK, UNK, UNK, 702a1e2e32eSuwe /* 4 */ 45 , 58 , 22 , 38 , 40 , 42 , UNK, UNK, 703a1e2e32eSuwe /* 5 */ 30 , 16 , 21 , 24 , 28 , 54 , UNK, UNK, 704a1e2e32eSuwe /* 6 */ 17 , 4 , UNK, 10 , 12 , 205, UNK, UNK, 705a1e2e32eSuwe /* 7 */ 31 , 18 , 7 , 25 , 13 , 83 , UNK, UNK, 70617587c61Skiyohara /* 8 */ 60 , 62 , 64 , 66 , 68 , UNK, UNK, UNK, 707a1e2e32eSuwe /* 9 */ UNK, 123, 49 , 53 , 203, UNK, UNK, UNK, 708a1e2e32eSuwe /*10 */ 56 , 46 , 50 , 57 , 208, UNK, UNK, UNK, 709a1e2e32eSuwe /*11 */ 15 , 33 , 36 , 39 , 43 , UNK, UNK, UNK, 710a1e2e32eSuwe /*12 */ 44 , 20 , 23 , 26 , 27 , UNK, UNK, UNK, 711a1e2e32eSuwe /*13 */ 2 , 6 , 9 , 115, 200, UNK, UNK, UNK, 712a1e2e32eSuwe /*14 */ 3 , 5 , UNK, UNK, 125, UNK, UNK, UNK, 713a1e2e32eSuwe /*15 */ 32 , 19 , 8 , 11 , 14 , UNK, UNK, UNK, 7141877683fSuch }; 7151877683fSuch 7161877683fSuch const int persona_hpw50pad_special_keymap[] = { 717b7e745a1Skiyohara [KEY_SPECIAL_OFF] = 5, 7181877683fSuch [KEY_SPECIAL_LIGHT] = -1 7191877683fSuch }; 7201877683fSuch 72117587c61Skiyohara static const keysym_t persona_hpw50pad_jp_keydesc[] = { 72217587c61Skiyohara /* pos command normal shifted */ 72317587c61Skiyohara KC(63), KS_Cmd_ContrastDown, KS_f5, 72417587c61Skiyohara KC(64), KS_Cmd_ContrastUp, KS_f6, 72517587c61Skiyohara KC(65), KS_Cmd_BrightnessDown, KS_f7, 72617587c61Skiyohara KC(66), KS_Cmd_BrightnessUp, KS_f8, 72717587c61Skiyohara 72817587c61Skiyohara KC(200),KS_Cmd_ScrollFastUp, KS_Up, 72917587c61Skiyohara KC(208),KS_Cmd_ScrollFastDown, KS_Down, 73017587c61Skiyohara KC(203),KS_KP_Home, KS_Left, 73117587c61Skiyohara KC(205),KS_KP_End, KS_Right, 73217587c61Skiyohara }; 73317587c61Skiyohara 734378e6e42Such /* 735378e6e42Such * HITACHI PERSONA HPW200EC 736378e6e42Such */ 737378e6e42Such /* US */ 73880e190d1Suwe const uint8_t persona_hpw200ec_keytrans[] = { 739378e6e42Such /* 0 1 2 3 4 5 6 7 */ 740a1b87c0aSuwe /* 0 */ 3 , 2 , 71 , 69 , 67 , SPL, UNK, UNK, 741a1b87c0aSuwe /* 1 */ 11 , UNK, 79 , 77 , 75 , UNK, UNK, UNK, 742a1b87c0aSuwe /* 2 */ 19 , UNK, UNK, 85 , 83 , UNK, UNK, UNK, 743a1b87c0aSuwe /* 3 */ 27 , 26 , 95 , 93 , 91 , UNK, UNK, UNK, 744a1b87c0aSuwe /* 4 */ 35 , 34 , 103, 101, 99 , 32 , UNK, UNK, 745a1b87c0aSuwe /* 5 */ 43 , 42 , 111, 109, 107, 40 , UNK, UNK, 746a1b87c0aSuwe /* 6 */ 51 , 50 , 119, 117, 115, 48 , UNK, UNK, 747a1b87c0aSuwe /* 7 */ 59 , 58 , UNK, UNK, 123, 56 , UNK, UNK, 748a1b87c0aSuwe /* 8 */ 5 , 6 , 70 , 68 , 66 , UNK, UNK, UNK, 749a1b87c0aSuwe /* 9 */ UNK, UNK, 78 , 76 , 74 , UNK, UNK, UNK, 750a1b87c0aSuwe /*10 */ 21 , UNK, UNK, 84 , 82 , UNK, UNK, UNK, 751a1b87c0aSuwe /*11 */ 29 , 30 , 94 , 92 , 90 , UNK, UNK, UNK, 752a1b87c0aSuwe /*12 */ UNK, 26 , 102, 100, 98 , UNK, UNK, UNK, 753a1b87c0aSuwe /*13 */ UNK, 46 , 110, 108, 106, 104, UNK, UNK, 754a1b87c0aSuwe /*14 */ 53 , 54 , 118, 124, 114, UNK, UNK, UNK, 755a1b87c0aSuwe /*15 */ 61 , 62 , 126, UNK, 122, UNK, UNK, UNK, 756378e6e42Such }; 757378e6e42Such 758378e6e42Such const int persona_hpw200ec_special_keymap[] = { 759b7e745a1Skiyohara [KEY_SPECIAL_OFF] = 5, 760378e6e42Such [KEY_SPECIAL_LIGHT] = -1 761378e6e42Such }; 762378e6e42Such 76338626ea2Such #endif /* hpcsh */ 76438626ea2Such 765c3f9ee5dSpeter #ifdef hpcarm 766c3f9ee5dSpeter /* 767c3f9ee5dSpeter * HP Jornada 710/720/728 768c3f9ee5dSpeter */ 769c3f9ee5dSpeter 770c3f9ee5dSpeter /* Japanese */ 771c3f9ee5dSpeter const uint8_t jornada7xx_jp_keytrans[] = { 772c3f9ee5dSpeter /* 00 */ UNK, 1 , 59 , 60 , 61 , 62 , 63 , 64 , 77394ebfefbSpeter /* 08 */ 65 , 66 , 67 , 112, 41 , IGN, IGN, IGN, 774c3f9ee5dSpeter /* 10 */ UNK, 2 , 3 , 4 , 5 , 6 , 7 , 8 , 775c3f9ee5dSpeter /* 18 */ 9 , 10 , 11 , 12 , 13 , UNK, UNK, UNK, 776c3f9ee5dSpeter /* 20 */ UNK, 16 , 17 , 18 , 19 , 20 , 21 , 22 , 777c3f9ee5dSpeter /* 28 */ 23, 24 , 25 , 26 , UNK, UNK, UNK, UNK, 778c3f9ee5dSpeter /* 30 */ UNK, 30 , 31 , 32 , 33 , 34 , 35 , 36 , 779c3f9ee5dSpeter /* 38 */ 37, 38 , 39 , 27 , 43 , UNK, UNK, UNK, 780c3f9ee5dSpeter /* 40 */ UNK, 44 , 45 , 46 , 47 , 48 , 49 , 50 , 781c3f9ee5dSpeter /* 48 */ 51, 52 , 53 , 40 , 28 , UNK, UNK, UNK, 782c3f9ee5dSpeter /* 50 */ UNK, 15 , UNK, 42 , UNK, UNK, UNK, UNK, 783c3f9ee5dSpeter /* 58 */ UNK, UNK, 200, 125, 54 , UNK, UNK, UNK, 784c3f9ee5dSpeter /* 60 */ UNK, UNK, UNK, UNK, UNK, 56 , 123, UNK, 785c3f9ee5dSpeter /* 68 */ UNK, 203, 208, 205, UNK, UNK, UNK, UNK, 786f75a2589Speter /* 70 */ UNK, 184, 29 , UNK, 57 , UNK, UNK, 121, 787c3f9ee5dSpeter /* 78 */ 53 , 14 , UNK, UNK, UNK, UNK, UNK, SPL, 788c3f9ee5dSpeter }; 789c3f9ee5dSpeter 790c3f9ee5dSpeter /* US/UK - Fn to the left of the space bar and missing few keys */ 791c3f9ee5dSpeter const uint8_t jornada7xx_us_keytrans[] = { 792c3f9ee5dSpeter /* 00 */ UNK, 1 , 59 , 60 , 61 , 62 , 63 , 64 , 79394ebfefbSpeter /* 08 */ 65 , 66 , 67 , 68 , 87 , IGN, IGN, IGN, 794c3f9ee5dSpeter /* 10 */ UNK, 2 , 3 , 4 , 5 , 6 , 7 , 8 , 795c3f9ee5dSpeter /* 18 */ 9 , 10 , 11 , 12 , 13 , UNK, UNK, UNK, 796c3f9ee5dSpeter /* 20 */ UNK, 16 , 17 , 18 , 19 , 20 , 21 , 22 , 797c3f9ee5dSpeter /* 28 */ 23, 24 , 25 , 43 , 14 , UNK, UNK, UNK, 798c3f9ee5dSpeter /* 30 */ UNK, 30 , 31 , 32 , 33 , 34 , 35 , 36 , 799c3f9ee5dSpeter /* 38 */ 37, 38 , 39 , 40 , UNK, UNK, UNK, UNK, 800c3f9ee5dSpeter /* 40 */ UNK, 44 , 45 , 46 , 47 , 48 , 49 , 50 , 801c3f9ee5dSpeter /* 48 */ 51, 52 , UNK, 40 , 28 , UNK, UNK, UNK, 802c3f9ee5dSpeter /* 50 */ UNK, 15 , UNK, 42 , UNK, UNK, UNK, UNK, 803c3f9ee5dSpeter /* 58 */ UNK, UNK, 200, UNK, 54 , UNK, UNK, UNK, 804f75a2589Speter /* 60 */ UNK, UNK, UNK, UNK, UNK, 56 , 184, UNK, 805c3f9ee5dSpeter /* 68 */ UNK, 203, 208, 205, UNK, UNK, UNK, UNK, 8064cab041dSpeter /* 70 */ UNK, 221, 29 , UNK, 57 , UNK, UNK, UNK, 807c3f9ee5dSpeter /* 78 */ 53 , 14 , UNK, UNK, UNK, UNK, UNK, SPL, 808c3f9ee5dSpeter }; 809c3f9ee5dSpeter 810c3f9ee5dSpeter /* International - AltGr to the right and extra keys in three middle rows */ 811c3f9ee5dSpeter const uint8_t jornada7xx_intl_keytrans[] = { 812c3f9ee5dSpeter /* 00 */ UNK, 1 , 59 , 60 , 61 , 62 , 63 , 64 , 81394ebfefbSpeter /* 08 */ 65 , 66 , 67 , 68 , 87 , IGN, IGN, IGN, 814c3f9ee5dSpeter /* 10 */ UNK, 2 , 3 , 4 , 5 , 6 , 7 , 8 , 815c3f9ee5dSpeter /* 18 */ 9 , 10 , 11 , 12 , 13 , UNK, UNK, UNK, 816c3f9ee5dSpeter /* 20 */ UNK, 16 , 17 , 18 , 19 , 20 , 21 , 22 , 817c3f9ee5dSpeter /* 28 */ 23, 24 , 25 , 26 , 14 , UNK, UNK, UNK, 818c3f9ee5dSpeter /* 30 */ UNK, 30 , 31 , 32 , 33 , 34 , 35 , 36 , 819c3f9ee5dSpeter /* 38 */ 37, 38 , 39 , 27 , 43 , UNK, UNK, UNK, 820c3f9ee5dSpeter /* 40 */ UNK, 44 , 45 , 46 , 47 , 48 , 49 , 50 , 821c3f9ee5dSpeter /* 48 */ 51, 52 , 53 , 40 , 28 , UNK, UNK, UNK, 822c3f9ee5dSpeter /* 50 */ UNK, 15 , UNK, 42 , UNK, UNK, UNK, UNK, 823c3f9ee5dSpeter /* 58 */ UNK, UNK, 200, UNK, 54 , UNK, UNK, UNK, 824c3f9ee5dSpeter /* 60 */ UNK, UNK, UNK, UNK, UNK, 56 , 41 , UNK, 825c3f9ee5dSpeter /* 68 */ UNK, 203, 208, 205, UNK, UNK, UNK, UNK, 826c3f9ee5dSpeter /* 70 */ UNK, 221, 29 , UNK, 57 , UNK, UNK, UNK, 827f75a2589Speter /* 78 */ 184, 211, UNK, UNK, UNK, UNK, UNK, SPL, 828c3f9ee5dSpeter }; 829c3f9ee5dSpeter 830c3f9ee5dSpeter const int jornada7xx_special_keymap[] = { 831d0109f30Speter [KEY_SPECIAL_OFF] = 127, 832d0109f30Speter [KEY_SPECIAL_LIGHT] = -1 833c3f9ee5dSpeter }; 834b62fc9e2Snonaka 835b62fc9e2Snonaka /* 836b62fc9e2Snonaka * Sharp W-ZERO3 series 837b62fc9e2Snonaka */ 838b62fc9e2Snonaka /* 839b62fc9e2Snonaka * WS003SH/WS004SH/WS007SH keyscan map 840b62fc9e2Snonaka CTRL (none) TAB (none) CALL MAIL IE 841b62fc9e2Snonaka 1 2 q w a z MOJI 842b62fc9e2Snonaka 3 4 e s d x (none) 843b62fc9e2Snonaka 5 r t f c - OK 844b62fc9e2Snonaka 6 y g v b SPACE ACTION 845b62fc9e2Snonaka 7 8 u h n / , 846b62fc9e2Snonaka 9 i j m . (none) LEFT 847b62fc9e2Snonaka 0 o k l (none) UP DOWN 848b62fc9e2Snonaka BS p (none) (none) ENTER (none) RIGHT 849b62fc9e2Snonaka (none) (none) (none) (none) (none) (none) (none) 850b62fc9e2Snonaka ROTATE VOL- (none) SHIFT WIN LSOFT RSOFT 851b62fc9e2Snonaka CAMERA VOL+ (none) (none) (none) FN (none) 852b62fc9e2Snonaka */ 853b62fc9e2Snonaka /* Japanese */ 854b62fc9e2Snonaka const uint8_t ws003sh_jp_keytrans[] = { 855b62fc9e2Snonaka /* row#0, row#1, row#2, row#3, row#4, row#5, row#6, */ 856b62fc9e2Snonaka /*00*/ 29, UNK, 15, UNK, IGN, IGN, IGN, 857b62fc9e2Snonaka /*01*/ 2, 3, 16, 17, 30, 44, 1, 858b62fc9e2Snonaka /*02*/ 4, 5, 18, 31, 32, 45, UNK, 859b62fc9e2Snonaka /*03*/ 6, 19, 20, 33, 46, 12, 28, 860b62fc9e2Snonaka /*04*/ 7, 21, 34, 47, 48, 57, 28, 861b62fc9e2Snonaka /*05*/ 8, 9, 22, 35, 49, 53, 51, 862b62fc9e2Snonaka /*06*/ 10, 23, 36, 50, 52, UNK, 203, 863b62fc9e2Snonaka /*07*/ 11, 24, 37, 38, UNK, 200, 208, 864b62fc9e2Snonaka /*08*/ 14, 25, UNK, UNK, 28, UNK, 205, 865b62fc9e2Snonaka /*09*/ UNK, UNK, UNK, UNK, UNK, UNK, UNK, 866b62fc9e2Snonaka /*10*/ IGN, 174, UNK, 42, IGN, IGN, IGN, 867b62fc9e2Snonaka /*11*/ IGN, 176, UNK, UNK, UNK, 184, SPL, 868b62fc9e2Snonaka }; 869b62fc9e2Snonaka 870b62fc9e2Snonaka const int ws003sh_special_keymap[] = { 871b62fc9e2Snonaka [KEY_SPECIAL_OFF] = 83, 872b62fc9e2Snonaka [KEY_SPECIAL_LIGHT] = -1 873b62fc9e2Snonaka }; 874b62fc9e2Snonaka 875b62fc9e2Snonaka static const keysym_t ws003sh_jp_keydesc[] = { 876b62fc9e2Snonaka /* pos normal shifted altgr */ 877b62fc9e2Snonaka KC(4), KS_3, KS_numbersign, KS_Cmd_BrightnessDown, 878b62fc9e2Snonaka KC(5), KS_4, KS_dollar, KS_Cmd_BrightnessUp, 879b62fc9e2Snonaka KC(8), KS_7, KS_apostrophe, KS_grave, 880b62fc9e2Snonaka KC(9), KS_8, KS_parenleft, KS_braceleft, 881b62fc9e2Snonaka KC(10), KS_9, KS_parenright, KS_braceright, 882b62fc9e2Snonaka KC(12), KS_minus, KS_equal, KS_backslash, 883b62fc9e2Snonaka KC(14), KS_Delete, KS_Delete, KS_BackSpace, 884b62fc9e2Snonaka KC(15), KS_Tab, KS_Tab, KS_Escape, 885b62fc9e2Snonaka KC(17), KS_w, KS_W, KS_asciicircum, 886b62fc9e2Snonaka KC(18), KS_e, KS_E, KS_asciitilde, 887b62fc9e2Snonaka KC(19), KS_r, KS_R, KS_bar, 888b62fc9e2Snonaka KC(22), KS_u, KS_U, KS_bracketleft, 889b62fc9e2Snonaka KC(23), KS_i, KS_I, KS_bracketright, 890b62fc9e2Snonaka KC(24), KS_o, KS_O, KS_underscore, 891b62fc9e2Snonaka KC(25), KS_p, KS_P, KS_at, 892b62fc9e2Snonaka KC(37), KS_k, KS_K, KS_plus, 893b62fc9e2Snonaka KC(38), KS_l, KS_L, KS_asterisk, 894b62fc9e2Snonaka KC(42), KS_Shift_L, KS_Shift_L, KS_Shift_Lock, 895b62fc9e2Snonaka KC(51), KS_comma, KS_semicolon, KS_less, 896b62fc9e2Snonaka KC(52), KS_period, KS_colon, KS_greater, 897b62fc9e2Snonaka KC(184), KS_Mode_switch, KS_Multi_key, 898b62fc9e2Snonaka KC(200), KS_Up, KS_Up, KS_Prior, 899b62fc9e2Snonaka KC(203), KS_Left, KS_Left, KS_Home, 900b62fc9e2Snonaka KC(205), KS_Right, KS_Right, KS_End, 901b62fc9e2Snonaka KC(208), KS_Down, KS_Down, KS_Next, 902b62fc9e2Snonaka }; 903b62fc9e2Snonaka 904b62fc9e2Snonaka /* 905250a759eSnonaka * WS011SH keyscan map 906b62fc9e2Snonaka Ctrl (none) Tab (none) (none) (none) (none) 907b62fc9e2Snonaka (none) (none) Q W A Z MOJI 908b62fc9e2Snonaka (none) (none) E S D X HAN/ZEN 909b62fc9e2Snonaka (none) R T F C - OK 910b62fc9e2Snonaka (none) Y G V B Space (none) 911b62fc9e2Snonaka (none) (none) U H N / , 912b62fc9e2Snonaka (none) I J M . (none) LEFT 913b62fc9e2Snonaka (none) O K L (none) UP DOWN 914250a759eSnonaka Del P (none) (none) Enter (none) RIGHT 915b62fc9e2Snonaka (none) (none) (none) (none) (none) (none) (none) 916b62fc9e2Snonaka ROTATE (none) (none) SHIFT (none) (none) (none) 917b62fc9e2Snonaka (none) (none) (none) (none) (none) FN (none) 918b62fc9e2Snonaka */ 919b62fc9e2Snonaka /* Japanese */ 920b62fc9e2Snonaka const uint8_t ws011sh_jp_keytrans[] = { 921b62fc9e2Snonaka /* row#0, row#1, row#2, row#3, row#4, row#5, row#6, */ 922b62fc9e2Snonaka /*00*/ 29, UNK, 15, UNK, UNK, UNK, UNK, 923b62fc9e2Snonaka /*01*/ UNK, UNK, 16, 17, 30, 44, 1, 924b62fc9e2Snonaka /*02*/ UNK, UNK, 18, 31, 32, 45, 41, 925b62fc9e2Snonaka /*03*/ UNK, 19, 20, 33, 46, 12, 3, 926b62fc9e2Snonaka /*04*/ UNK, 21, 34, 47, 48, 57, UNK, 927b62fc9e2Snonaka /*05*/ UNK, UNK, 22, 35, 49, 53, 51, 928b62fc9e2Snonaka /*06*/ UNK, 23, 36, 50, 52, UNK, 203, 929b62fc9e2Snonaka /*07*/ UNK, 24, 37, 38, UNK, 200, 208, 930b62fc9e2Snonaka /*08*/ 14, 25, UNK, UNK, 28, UNK, 205, 931b62fc9e2Snonaka /*09*/ UNK, UNK, UNK, UNK, UNK, UNK, UNK, 932b62fc9e2Snonaka /*10*/ IGN, UNK, UNK, 42, UNK, UNK, UNK, 933b62fc9e2Snonaka /*11*/ UNK, UNK, UNK, UNK, UNK, 184, SPL, 934b62fc9e2Snonaka }; 935b62fc9e2Snonaka 936b62fc9e2Snonaka const int ws011sh_special_keymap[] = { 937b62fc9e2Snonaka [KEY_SPECIAL_OFF] = 83, 938b62fc9e2Snonaka [KEY_SPECIAL_LIGHT] = -1 939b62fc9e2Snonaka }; 940b62fc9e2Snonaka 941b62fc9e2Snonaka static const keysym_t ws011sh_jp_keydesc[] = { 942b62fc9e2Snonaka /* pos normal shifted altgr */ 943b62fc9e2Snonaka KC(3), KS_grave, KS_braceleft, KS_braceright, 944b62fc9e2Snonaka KC(12), KS_minus, KS_equal, KS_backslash, 945b62fc9e2Snonaka KC(14), KS_Delete, KS_Delete, KS_BackSpace, 946b62fc9e2Snonaka KC(15), KS_Tab, KS_Tab, KS_Escape, 947b62fc9e2Snonaka KC(16), KS_q, KS_Q, KS_quotedbl, 948b62fc9e2Snonaka KC(17), KS_w, KS_W, KS_numbersign, 949b62fc9e2Snonaka KC(18), KS_e, KS_E, KS_dollar, 950b62fc9e2Snonaka KC(19), KS_r, KS_R, KS_percent, 951b62fc9e2Snonaka KC(20), KS_t, KS_T, KS_ampersand, 952b62fc9e2Snonaka KC(21), KS_y, KS_Y, KS_1, 953b62fc9e2Snonaka KC(22), KS_u, KS_U, KS_2, 954b62fc9e2Snonaka KC(23), KS_i, KS_I, KS_3, 955b62fc9e2Snonaka KC(24), KS_o, KS_O, KS_underscore, 956b62fc9e2Snonaka KC(25), KS_p, KS_P, KS_at, 957b62fc9e2Snonaka KC(30), KS_a, KS_A, KS_bracketleft, 958b62fc9e2Snonaka KC(31), KS_s, KS_S, KS_apostrophe, 959b62fc9e2Snonaka KC(32), KS_d, KS_D, KS_parenleft, 960b62fc9e2Snonaka KC(33), KS_f, KS_F, KS_parenright, 961b62fc9e2Snonaka KC(34), KS_g, KS_G, KS_asterisk, 962b62fc9e2Snonaka KC(35), KS_h, KS_H, KS_4, 963b62fc9e2Snonaka KC(36), KS_j, KS_J, KS_5, 964b62fc9e2Snonaka KC(37), KS_k, KS_K, KS_6, 965b62fc9e2Snonaka KC(38), KS_l, KS_L, KS_plus, 966b62fc9e2Snonaka KC(41), KS_Zenkaku_Hankaku, KS_Zenkaku_Hankaku, KS_exclam, 967b62fc9e2Snonaka KC(42), KS_Shift_L, KS_Shift_L, KS_Shift_Lock, 968b62fc9e2Snonaka KC(44), KS_z, KS_Z, KS_bracketright, 969b62fc9e2Snonaka KC(45), KS_x, KS_X, KS_asciicircum, 970b62fc9e2Snonaka KC(46), KS_c, KS_C, KS_asciitilde, 971b62fc9e2Snonaka KC(47), KS_v, KS_V, KS_bar, 972b62fc9e2Snonaka KC(48), KS_b, KS_B, KS_7, 973b62fc9e2Snonaka KC(49), KS_n, KS_N, KS_8, 974b62fc9e2Snonaka KC(50), KS_m, KS_M, KS_9, 975b62fc9e2Snonaka KC(51), KS_comma, KS_less, KS_semicolon, 976b62fc9e2Snonaka KC(52), KS_period, KS_greater, KS_colon, 977b62fc9e2Snonaka KC(53), KS_slash, KS_question, KS_0, 978b62fc9e2Snonaka KC(57), KS_space, 979b62fc9e2Snonaka KC(184), KS_Mode_switch, KS_Multi_key, 980b62fc9e2Snonaka KC(200), KS_Up, KS_Up, KS_Prior, 981b62fc9e2Snonaka KC(203), KS_Left, KS_Left, KS_Home, 982b62fc9e2Snonaka KC(205), KS_Right, KS_Right, KS_End, 983b62fc9e2Snonaka KC(208), KS_Down, KS_Down, KS_Next, 984b62fc9e2Snonaka }; 985250a759eSnonaka 986250a759eSnonaka /* 987250a759eSnonaka * WS020SH keyscan map 988250a759eSnonaka Ctrl (none) Tab (none) (none) (none) (none) 989250a759eSnonaka (none) (none) Q W A Z MOJI 990250a759eSnonaka (none) (none) E S D X HAN/ZEN 991250a759eSnonaka (none) R T F C - OK 992250a759eSnonaka (none) Y G V B Space (none) 993250a759eSnonaka (none) (none) U H N / , 994250a759eSnonaka (none) I J M . (none) LEFT 995250a759eSnonaka (none) O K L (none) UP (none) 996250a759eSnonaka Del P (none) (none) Enter (none) RIGHT 997250a759eSnonaka (none) (none) (none) (none) (none) DOWN (none) 998250a759eSnonaka ROTATE MEDIA (none) LSHIFT RSHIFT (none) (none) 999250a759eSnonaka (none) (none) (none) (none) (none) FN (none) 1000250a759eSnonaka */ 1001250a759eSnonaka /* Japanese */ 1002250a759eSnonaka const uint8_t ws020sh_jp_keytrans[] = { 1003250a759eSnonaka /* row#0, row#1, row#2, row#3, row#4, row#5, row#6, */ 1004250a759eSnonaka /*00*/ 29, UNK, 15, UNK, UNK, UNK, UNK, 1005250a759eSnonaka /*01*/ UNK, UNK, 16, 17, 30, 44, 1, 1006250a759eSnonaka /*02*/ UNK, UNK, 18, 31, 32, 45, 41, 1007250a759eSnonaka /*03*/ UNK, 19, 20, 33, 46, 12, 3, 1008250a759eSnonaka /*04*/ UNK, 21, 34, 47, 48, 57, UNK, 1009250a759eSnonaka /*05*/ UNK, UNK, 22, 35, 49, 53, 51, 1010250a759eSnonaka /*06*/ UNK, 23, 36, 50, 52, UNK, 203, 1011250a759eSnonaka /*07*/ UNK, 24, 37, 38, UNK, 200, UNK, 1012250a759eSnonaka /*08*/ 14, 25, UNK, UNK, 28, UNK, 205, 1013250a759eSnonaka /*09*/ UNK, UNK, UNK, UNK, UNK, 208, UNK, 1014250a759eSnonaka /*10*/ IGN, IGN, UNK, 42, 54, UNK, UNK, 1015250a759eSnonaka /*11*/ UNK, UNK, UNK, UNK, UNK, 184, SPL, 1016250a759eSnonaka }; 1017250a759eSnonaka 1018250a759eSnonaka const int ws020sh_special_keymap[] = { 1019250a759eSnonaka [KEY_SPECIAL_OFF] = 83, 1020250a759eSnonaka [KEY_SPECIAL_LIGHT] = -1 1021250a759eSnonaka }; 1022250a759eSnonaka 1023250a759eSnonaka static const keysym_t ws020sh_jp_keydesc[] = { 1024250a759eSnonaka /* pos normal shifted altgr */ 1025250a759eSnonaka KC(3), KS_grave, KS_braceleft, KS_braceright, 1026250a759eSnonaka KC(12), KS_minus, KS_equal, KS_backslash, 1027250a759eSnonaka KC(14), KS_Delete, KS_Delete, KS_BackSpace, 1028250a759eSnonaka KC(15), KS_Tab, KS_Tab, KS_Escape, 1029250a759eSnonaka KC(16), KS_q, KS_Q, KS_quotedbl, 1030250a759eSnonaka KC(17), KS_w, KS_W, KS_numbersign, 1031250a759eSnonaka KC(18), KS_e, KS_E, KS_dollar, 1032250a759eSnonaka KC(19), KS_r, KS_R, KS_percent, 1033250a759eSnonaka KC(20), KS_t, KS_T, KS_ampersand, 1034250a759eSnonaka KC(21), KS_y, KS_Y, KS_underscore, 1035250a759eSnonaka KC(22), KS_u, KS_U, KS_1, 1036250a759eSnonaka KC(23), KS_i, KS_I, KS_2, 1037250a759eSnonaka KC(24), KS_o, KS_O, KS_3, 1038250a759eSnonaka KC(25), KS_p, KS_P, KS_at, 1039250a759eSnonaka KC(30), KS_a, KS_A, KS_bracketleft, 1040250a759eSnonaka KC(31), KS_s, KS_S, KS_apostrophe, 1041250a759eSnonaka KC(32), KS_d, KS_D, KS_parenleft, 1042250a759eSnonaka KC(33), KS_f, KS_F, KS_parenright, 1043250a759eSnonaka KC(34), KS_g, KS_G, KS_asterisk, 1044250a759eSnonaka KC(35), KS_h, KS_H, KS_4, 1045250a759eSnonaka KC(36), KS_j, KS_J, KS_5, 1046250a759eSnonaka KC(37), KS_k, KS_K, KS_6, 1047250a759eSnonaka KC(38), KS_l, KS_L, KS_plus, 1048250a759eSnonaka KC(41), KS_Zenkaku_Hankaku, KS_Zenkaku_Hankaku, KS_exclam, 1049250a759eSnonaka KC(42), KS_Shift_L, KS_Shift_L, KS_Shift_Lock, 1050250a759eSnonaka KC(44), KS_z, KS_Z, KS_bracketright, 1051250a759eSnonaka KC(45), KS_x, KS_X, KS_asciicircum, 1052250a759eSnonaka KC(46), KS_c, KS_C, KS_asciitilde, 1053250a759eSnonaka KC(47), KS_v, KS_V, KS_bar, 1054250a759eSnonaka KC(48), KS_b, KS_B, KS_7, 1055250a759eSnonaka KC(49), KS_n, KS_N, KS_8, 1056250a759eSnonaka KC(50), KS_m, KS_M, KS_9, 1057250a759eSnonaka KC(51), KS_comma, KS_less, KS_semicolon, 1058250a759eSnonaka KC(52), KS_period, KS_greater, KS_colon, 1059250a759eSnonaka KC(53), KS_slash, KS_question, KS_0, 1060250a759eSnonaka KC(54), KS_Shift_R, KS_Shift_R, KS_Shift_Lock, 1061250a759eSnonaka KC(57), KS_space, 1062250a759eSnonaka KC(184), KS_Mode_switch, KS_Multi_key, 1063250a759eSnonaka KC(200), KS_Up, KS_Up, KS_Prior, 1064250a759eSnonaka KC(203), KS_Left, KS_Left, KS_Home, 1065250a759eSnonaka KC(205), KS_Right, KS_Right, KS_End, 1066250a759eSnonaka KC(208), KS_Down, KS_Down, KS_Next, 1067250a759eSnonaka }; 1068*587ef940Skiyohara 1069*587ef940Skiyohara const uint8_t netbookpro_keytrans[] = { 1070*587ef940Skiyohara /* row#0, row#1, row#2, row#3, row#4, row#5, row#6, row#7 */ 1071*587ef940Skiyohara /*00*/ 28, 205, 15, 21, 203, 208, 49, 42, 1072*587ef940Skiyohara UNK, UNK, UNK, UNK, UNK, 14, UNK, 12, 1073*587ef940Skiyohara /*10*/ 13, 11, 25, 39, UNK, 54, UNK, UNK, 1074*587ef940Skiyohara UNK, UNK, UNK, 37, 23, 9, 10, 24, 1075*587ef940Skiyohara /*20*/ 38, UNK, UNK, 29, UNK, UNK, UNK, UNK, 1076*587ef940Skiyohara 51, 40, 50, 36, 22, 8, UNK, UNK, 1077*587ef940Skiyohara /*30*/ UNK, 184, UNK, UNK, 57, 19, 5, 6, 1078*587ef940Skiyohara 20, 34, 48, UNK, UNK, UNK, UNK, 43, 1079*587ef940Skiyohara /*40*/ UNK, 56, 33, 47, 46, 32, 18, 4, 1080*587ef940Skiyohara UNK, UNK, UNK, UNK, UNK, 53, UNK, 16, 1081*587ef940Skiyohara /*50*/ 30, 44, 31, 17, 45, UNK, UNK, UNK, 1082*587ef940Skiyohara UNK, UNK, UNK, 1, 2, 3, 7, 52, 1083*587ef940Skiyohara /*60*/ UNK, 35, UNK, UNK, UNK, UNK, UNK, UNK, 1084*587ef940Skiyohara UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK, 1085*587ef940Skiyohara }; 1086*587ef940Skiyohara 1087*587ef940Skiyohara static const keysym_t netbookpro_keydesc[] = { 1088*587ef940Skiyohara /* pos command normal shifted fn */ 1089*587ef940Skiyohara KC(2), KS_Cmd_Screen0, KS_1, KS_exclam, KS_f1, 1090*587ef940Skiyohara KC(3), KS_Cmd_Screen1, KS_2, KS_at, KS_f2, 1091*587ef940Skiyohara KC(4), KS_Cmd_Screen2, KS_3, KS_numbersign, KS_f3, 1092*587ef940Skiyohara KC(5), KS_Cmd_Screen3, KS_4, KS_dollar, KS_f4, 1093*587ef940Skiyohara KC(6), KS_5, KS_percent, KS_grave, 1094*587ef940Skiyohara KC(7), KS_6, KS_asciicircum, KS_apostrophe, 1095*587ef940Skiyohara KC(8), KS_7, KS_ampersand, KS_braceleft, 1096*587ef940Skiyohara KC(9), KS_8, KS_asterisk, KS_braceright, 1097*587ef940Skiyohara KC(10), KS_9, KS_parenleft, KS_bracketleft, 1098*587ef940Skiyohara KC(11), KS_0, KS_parenright, KS_bracketright, 1099*587ef940Skiyohara KC(12), KS_minus, KS_underscore, KS_numbersign, 1100*587ef940Skiyohara KC(15), KS_Tab, KS_BackSpace, KS_Caps_Lock, 1101*587ef940Skiyohara KC(40), KS_apostrophe, KS_quotedbl, KS_at, 1102*587ef940Skiyohara KC(43), KS_backslash, KS_asciitilde, KS_bar, 1103*587ef940Skiyohara KC(51), KS_comma, KS_less, KS_minus, 1104*587ef940Skiyohara KC(52), KS_period, KS_greater, KS_plus, 1105*587ef940Skiyohara KC(53), KS_slash, KS_question, KS_Help, 1106*587ef940Skiyohara KC(184), KS_Mode_switch, KS_Multi_key, 1107*587ef940Skiyohara KC(203), KS_Left, KS_Left, KS_Home, 1108*587ef940Skiyohara KC(205), KS_Right, KS_Right, KS_End, 1109*587ef940Skiyohara }; 1110c3f9ee5dSpeter #endif /* hpcarm */ 1111c3f9ee5dSpeter 1112c3f9ee5dSpeter #if defined(hpcarm) || defined(hpcsh) 1113c3f9ee5dSpeter /* 1114c3f9ee5dSpeter * Shared keymaps between the Jornada series (6xx, 7xx). 1115c3f9ee5dSpeter */ 1116c3f9ee5dSpeter 1117c3f9ee5dSpeter /* US (ABA), UK (ABU) */ 1118c3f9ee5dSpeter static const keysym_t jornada_us_keydesc[] = { 1119c3f9ee5dSpeter /* pos normal shifted altgr */ 1120c3f9ee5dSpeter KC(2), KS_1, KS_exclam, KS_asciitilde, 1121c3f9ee5dSpeter KC(3), KS_2, KS_at, KS_grave, 1122c3f9ee5dSpeter KC(4), KS_3, KS_numbersign, KS_sterling, 1123c3f9ee5dSpeter #ifdef KS_euro 1124c3f9ee5dSpeter KC(5), KS_4, KS_dollar, KS_euro, 1125c3f9ee5dSpeter #endif 1126c3f9ee5dSpeter KC(25), KS_p, KS_P, KS_braceleft, 1127c3f9ee5dSpeter KC(39), KS_semicolon, KS_colon, KS_bracketleft, 1128c3f9ee5dSpeter KC(40), KS_apostrophe, KS_quotedbl, KS_bracketright, 1129c3f9ee5dSpeter KC(43), KS_backslash, KS_bar, KS_braceright, 1130c3f9ee5dSpeter KC(184), KS_Mode_switch, KS_Multi_key, 1131c3f9ee5dSpeter 1132c3f9ee5dSpeter KC(200), KS_Cmd_BrightnessUp, KS_Up, 1133c3f9ee5dSpeter KC(203), KS_Cmd_ContrastDown, KS_Left, 1134c3f9ee5dSpeter KC(205), KS_Cmd_ContrastUp, KS_Right, 1135c3f9ee5dSpeter KC(208), KS_Cmd_BrightnessDown, KS_Down, 1136c3f9ee5dSpeter }; 1137c3f9ee5dSpeter 1138c3f9ee5dSpeter /* 1139c3f9ee5dSpeter * XXX: Add AltGr layer for #ABB here? OTOH, all the keys necessary 1140c3f9ee5dSpeter * for basic actions in DDB or shell are on the primary layer, so it 1141c3f9ee5dSpeter * makes sense to support AltGr via wsconsctl(8) instead, as the same 1142c3f9ee5dSpeter * primary layer is used e.g. in Russian models. But it does make 1143c3f9ee5dSpeter * sense to define the <AltGr> key itself here, as we base this layout 1144c3f9ee5dSpeter * on KB_US that defines it as the right <Alt>. 1145c3f9ee5dSpeter */ 1146c3f9ee5dSpeter /* European English (ABB) */ 1147c3f9ee5dSpeter static const keysym_t jornada_intl_keydesc[] = { 1148c3f9ee5dSpeter /* pos normal shifted altgr */ 1149c3f9ee5dSpeter KC(42), KS_Shift_L, KS_Shift_L, KS_Caps_Lock, 1150c3f9ee5dSpeter KC(184), KS_Mode_switch, KS_Multi_key, 1151c3f9ee5dSpeter 1152c3f9ee5dSpeter KC(200), KS_Cmd_BrightnessUp, KS_Up, 1153c3f9ee5dSpeter KC(203), KS_Cmd_ContrastDown, KS_Left, 1154c3f9ee5dSpeter KC(205), KS_Cmd_ContrastUp, KS_Right, 1155c3f9ee5dSpeter KC(208), KS_Cmd_BrightnessDown, KS_Down, 1156c3f9ee5dSpeter }; 1157c3f9ee5dSpeter 1158c3f9ee5dSpeter /* German (ABD) */ 1159c3f9ee5dSpeter static const keysym_t jornada_de_keydesc[] = { 1160c3f9ee5dSpeter /* pos normal shifted altgr */ 1161c3f9ee5dSpeter KC(2), KS_1, KS_exclam, KS_brokenbar, 1162c3f9ee5dSpeter KC(5), KS_4, KS_dollar, KS_ccedilla, 1163c3f9ee5dSpeter KC(6), KS_5, KS_percent, KS_sterling, 1164c3f9ee5dSpeter KC(7), KS_6, KS_ampersand, KS_notsign, 1165c3f9ee5dSpeter #ifdef KS_euro 1166c3f9ee5dSpeter KC(18), KS_e, KS_E, KS_euro, 1167c3f9ee5dSpeter #endif 1168c3f9ee5dSpeter KC(27), KS_plus, KS_asterisk, KS_asciitilde, /* NB: not dead */ 1169c3f9ee5dSpeter KC(30), KS_a, KS_A, KS_bar, 1170c3f9ee5dSpeter KC(41), KS_asciicircum, KS_degree, /* NB: not dead */ 1171c3f9ee5dSpeter KC(43), KS_numbersign, KS_apostrophe, KS_dead_diaeresis, 1172c3f9ee5dSpeter KC(44), KS_y, KS_Y, KS_less, 1173c3f9ee5dSpeter KC(45), KS_x, KS_X, KS_greater, 1174c3f9ee5dSpeter KC(46), KS_c, KS_C, KS_cent, 1175c3f9ee5dSpeter 1176c3f9ee5dSpeter KC(200), KS_Cmd_BrightnessUp, KS_Up, 1177c3f9ee5dSpeter KC(203), KS_Cmd_ContrastDown, KS_Left, 1178c3f9ee5dSpeter KC(205), KS_Cmd_ContrastUp, KS_Right, 1179c3f9ee5dSpeter KC(208), KS_Cmd_BrightnessDown, KS_Down, 1180c3f9ee5dSpeter }; 1181c3f9ee5dSpeter 1182c3f9ee5dSpeter /* French (ABF) */ 1183c3f9ee5dSpeter static const keysym_t jornada_fr_keydesc[] = { 1184c3f9ee5dSpeter /* pos normal shifted altgr */ 1185c3f9ee5dSpeter KC(2), KS_ampersand, KS_1, KS_plusminus, 1186c3f9ee5dSpeter #ifdef KS_euro 1187c3f9ee5dSpeter KC(18), KS_e, KS_E, KS_euro, 1188c3f9ee5dSpeter #endif 1189c3f9ee5dSpeter KC(19), KS_r, KS_R, KS_onequarter, 1190c3f9ee5dSpeter KC(20), KS_t, KS_T, KS_onehalf, 1191c3f9ee5dSpeter KC(21), KS_y, KS_Y, KS_threequarters, 1192c3f9ee5dSpeter KC(25), KS_p, KS_P, KS_paragraph, 1193c3f9ee5dSpeter KC(30), KS_q, KS_Q, KS_brokenbar, 1194c3f9ee5dSpeter KC(31), KS_s, KS_S, KS_guillemotleft, 1195c3f9ee5dSpeter KC(32), KS_d, KS_D, KS_guillemotright, 1196c3f9ee5dSpeter KC(40), KS_ugrave, KS_percent, KS_dead_acute, 1197c3f9ee5dSpeter KC(41), KS_twosuperior, KS_voidSymbol, KS_threesuperior, 1198c3f9ee5dSpeter KC(43), KS_asterisk, KS_mu, KS_notsign, 1199c3f9ee5dSpeter KC(44), KS_w, KS_W, KS_less, 1200c3f9ee5dSpeter KC(45), KS_x, KS_X, KS_greater, 1201c3f9ee5dSpeter KC(46), KS_c, KS_C, KS_cent, 1202c3f9ee5dSpeter KC(50), KS_comma, KS_question, KS_mu, 1203c3f9ee5dSpeter KC(53), KS_exclam, KS_section, KS_Eacute, 1204c3f9ee5dSpeter KC(184), KS_Mode_switch, KS_Multi_key, 1205c3f9ee5dSpeter 1206c3f9ee5dSpeter KC(200), KS_Cmd_BrightnessUp, KS_Up, 1207c3f9ee5dSpeter KC(203), KS_Cmd_ContrastDown, KS_Left, 1208c3f9ee5dSpeter KC(205), KS_Cmd_ContrastUp, KS_Right, 1209c3f9ee5dSpeter KC(208), KS_Cmd_BrightnessDown, KS_Down, 1210c3f9ee5dSpeter }; 1211c3f9ee5dSpeter 1212c3f9ee5dSpeter /* Scandinavian */ 1213c3f9ee5dSpeter static const keysym_t jornada_scnv_keydesc[] = { 1214c3f9ee5dSpeter /* pos normal shifted altgr */ 1215c3f9ee5dSpeter KC(2), KS_1, KS_exclam, KS_asciitilde, 1216c3f9ee5dSpeter KC(3), KS_2, KS_quotedbl, KS_at, 1217c3f9ee5dSpeter KC(4), KS_3, KS_numbersign, KS_sterling, 1218c3f9ee5dSpeter KC(5), KS_4, KS_currency, KS_dollar, 1219c3f9ee5dSpeter KC(7), KS_6, KS_ampersand, 1220c3f9ee5dSpeter KC(8), KS_7, KS_slash, KS_braceleft, 1221c3f9ee5dSpeter KC(9), KS_8, KS_parenleft, KS_bracketleft, 1222c3f9ee5dSpeter KC(10), KS_9, KS_parenright, KS_bracketright, 1223c3f9ee5dSpeter KC(11), KS_0, KS_equal, KS_braceright, 1224c3f9ee5dSpeter KC(12), KS_plus, KS_question, KS_backslash, 1225c3f9ee5dSpeter KC(13), KS_apostrophe, KS_grave, 1226c3f9ee5dSpeter KC(25), KS_p, KS_P, KS_braceleft, 1227c3f9ee5dSpeter KC(26), KS_aring, 1228c3f9ee5dSpeter /* 1229c3f9ee5dSpeter * XXX: KC(39) and KC(40) has odiaeresis/adiaeresis *and* 1230c3f9ee5dSpeter * oslash/ae on them. Apparently localized WinCE uses the former 1231c3f9ee5dSpeter * for Swedish and Finnish and the latter for Danish and 1232c3f9ee5dSpeter * Norwegian. But as the keyboard doesn't seem to have 1233c3f9ee5dSpeter * semicolon/colon and minus/underscore nowhere on the primary and 1234c3f9ee5dSpeter * altgr layers, I put them here (semicolon/colon is inherited). 1235c3f9ee5dSpeter */ 1236c3f9ee5dSpeter KC(40), KS_minus, KS_underscore, /* XXX */ 1237c3f9ee5dSpeter KC(41), KS_paragraph, KS_onehalf, KS_bar, 1238c3f9ee5dSpeter KC(184), KS_Mode_switch, KS_Multi_key, 1239c3f9ee5dSpeter 1240c3f9ee5dSpeter KC(200), KS_Cmd_BrightnessUp, KS_Up, 1241c3f9ee5dSpeter KC(203), KS_Cmd_ContrastDown, KS_Left, 1242c3f9ee5dSpeter KC(205), KS_Cmd_ContrastUp, KS_Right, 1243c3f9ee5dSpeter KC(208), KS_Cmd_BrightnessDown, KS_Down, 1244c3f9ee5dSpeter }; 1245c3f9ee5dSpeter 1246c3f9ee5dSpeter /* Spanish (ABE) */ 1247c3f9ee5dSpeter static const keysym_t jornada_es_keydesc[] = { 1248c3f9ee5dSpeter /* pos normal shifted altgr */ 1249c3f9ee5dSpeter KC(2), KS_1, KS_exclam, KS_ordfeminine, 1250c3f9ee5dSpeter KC(3), KS_2, KS_quotedbl, KS_masculine, 1251c3f9ee5dSpeter KC(4), KS_3, KS_numbersign, 1252c3f9ee5dSpeter KC(12), KS_apostrophe, KS_question, KS_backslash, 1253c3f9ee5dSpeter KC(13), KS_questiondown,KS_exclamdown, 1254c3f9ee5dSpeter KC(16), KS_q, KS_Q, KS_at, 1255c3f9ee5dSpeter #ifdef KS_euro 1256c3f9ee5dSpeter KC(18), KS_e, KS_E, KS_euro, 1257c3f9ee5dSpeter #endif 1258c3f9ee5dSpeter KC(26), KS_dead_acute, KS_dead_diaeresis, 1259c3f9ee5dSpeter KC(27), KS_plus, KS_asterisk, KS_dead_tilde, 1260c3f9ee5dSpeter KC(40), KS_braceleft, KS_bracketleft,KS_dead_circumflex, 1261c3f9ee5dSpeter KC(41), KS_bar, KS_degree, KS_notsign, 1262c3f9ee5dSpeter KC(43), KS_braceright, KS_bracketright,KS_dead_grave, 1263c3f9ee5dSpeter KC(44), KS_z, KS_Z, KS_less, 1264c3f9ee5dSpeter KC(45), KS_x, KS_X, KS_greater, 1265c3f9ee5dSpeter KC(46), KS_c, KS_C, KS_Ccedilla, 1266c3f9ee5dSpeter 1267c3f9ee5dSpeter KC(200), KS_Cmd_BrightnessUp, KS_Up, 1268c3f9ee5dSpeter KC(203), KS_Cmd_ContrastDown, KS_Left, 1269c3f9ee5dSpeter KC(205), KS_Cmd_ContrastUp, KS_Right, 1270c3f9ee5dSpeter KC(208), KS_Cmd_BrightnessDown, KS_Down, 1271c3f9ee5dSpeter }; 1272c3f9ee5dSpeter #endif /* hpcarm || hpcsh */ 1273dd45c481Suwe 1274dd45c481Suwe /* 1275dd45c481Suwe * REMINDER: 1276dd45c481Suwe * When adding new entry to this array, make sure that pckbd_keydesctab[] 1277dd45c481Suwe * in sys/dev/pckbport/wskbdmap_mfii.c has a placeholder KB_MACHDEP entry 1278dd45c481Suwe * for the base ht_layout that you refer. 1279dd45c481Suwe */ 1280659f65e0Such const struct hpckbd_keymap_table { 1281659f65e0Such platid_t *ht_platform; 128280e190d1Suwe const uint8_t *ht_keymap; 1283659f65e0Such const int *ht_special; 1284659f65e0Such struct { 1285659f65e0Such const keysym_t *map; 1286659f65e0Such int size; 1287659f65e0Such } ht_cmdmap; 1288659f65e0Such kbd_t ht_layout; 1289659f65e0Such } hpckbd_keymap_table[] = { 1290659f65e0Such #ifdef hpcmips 1291659f65e0Such { &platid_mask_MACH_COMPAQ_C, 1292659f65e0Such tc5165_compaq_c_jp_keymap, 1293659f65e0Such tc5165_compaq_c_jp_special_keymap, 1294659f65e0Such NULLCMDMAP, 1295659f65e0Such KB_JP }, 1296659f65e0Such { &platid_mask_MACH_VICTOR_INTERLINK, 1297659f65e0Such m38813c_keymap, 1298659f65e0Such default_special_keymap, 1299659f65e0Such NULLCMDMAP, 1300659f65e0Such KB_JP }, 1301659f65e0Such { &platid_mask_MACH_SHARP_TELIOS, 1302659f65e0Such tc5165_telios_jp_keymap, 1303659f65e0Such default_special_keymap, 13048ff59f4fSnakayama CMDMAP(tc5165_telios_jp_cmdmap), 1305659f65e0Such KB_JP }, 1306659f65e0Such { &platid_mask_MACH_SHARP_MOBILON, 1307659f65e0Such tc5165_mobilon_keymap, 1308659f65e0Such tc5165_mobilon_special_keymap, 1309659f65e0Such NULLCMDMAP, 1310659f65e0Such KB_US }, 1311659f65e0Such { &platid_mask_MACH_NEC_MCR_500A, 1312659f65e0Such mobilepro750c_keytrans, 1313659f65e0Such NULL, 1314659f65e0Such NULLCMDMAP, 1315659f65e0Such KB_US }, 1316659f65e0Such { &platid_mask_MACH_NEC_MCR_520A, 1317659f65e0Such mobilepro_keytrans, 1318659f65e0Such NULL, 13195531835eSsato CMDMAP(mobilepro_cmdmap), 1320659f65e0Such KB_US }, 1321659f65e0Such { &platid_mask_MACH_NEC_MCR_530A, 1322caf5e039Stakemura mobilepro780_keytrans, 1323659f65e0Such NULL, 1324659f65e0Such NULLCMDMAP, 1325659f65e0Such KB_US }, 1326659f65e0Such { &platid_mask_MACH_NEC_MCR_700A, 132789349d30Stv mobilepro8x0_keytrans, 1328659f65e0Such NULL, 132989349d30Stv CMDMAP(mobilepro8x0_cmdmap), 1330659f65e0Such KB_US }, 1331659f65e0Such { &platid_mask_MACH_NEC_MCR_730A, 133289349d30Stv mobilepro8x0_keytrans, 1333659f65e0Such NULL, 133489349d30Stv CMDMAP(mobilepro8x0_cmdmap), 1335659f65e0Such KB_US }, 1336659f65e0Such { &platid_mask_MACH_NEC_MCR_MPRO700, 1337659f65e0Such mobilepro_keytrans, 1338659f65e0Such NULL, 1339659f65e0Such NULLCMDMAP, 1340659f65e0Such KB_US }, 1341659f65e0Such { &platid_mask_MACH_NEC_MCR_SIGMARION, 1342659f65e0Such sigmarion_jp_keytrans, 1343659f65e0Such NULL, 1344659f65e0Such CMDMAP(sigmarion_cmdmap), 1345659f65e0Such KB_JP }, 134602e91ee7Shamajima { &platid_mask_MACH_NEC_MCR_SIGMARION2, 134702e91ee7Shamajima sigmarion_jp_keytrans, 134802e91ee7Shamajima NULL, 134902e91ee7Shamajima CMDMAP(sigmarion_cmdmap), 135002e91ee7Shamajima KB_JP }, 1351659f65e0Such { &platid_mask_MACH_NEC_MCR, 1352659f65e0Such mcr_jp_keytrans, 1353659f65e0Such NULL, 1354659f65e0Such CMDMAP(mcr_jp_cmdmap), 1355659f65e0Such KB_JP }, 1356659f65e0Such { &platid_mask_MACH_IBM_WORKPAD_Z50, 1357659f65e0Such z50_keytrans, 1358659f65e0Such NULL, 1359659f65e0Such NULLCMDMAP, 1360659f65e0Such KB_US }, 1361659f65e0Such { &platid_mask_MACH_SHARP_TRIPAD, 1362659f65e0Such tripad_keytrans, 1363659f65e0Such NULL, 13642cfc946fStsutsui CMDMAP(tripad_cmdmap), 1365659f65e0Such KB_US }, 1366659f65e0Such { &platid_mask_MACH_VADEM_CLIO_C, 1367659f65e0Such tripad_keytrans, 1368659f65e0Such NULL, 13692cfc946fStsutsui CMDMAP(tripad_cmdmap), 1370659f65e0Such KB_US }, 1371659f65e0Such { &platid_mask_MACH_NEC_MCCS, 1372659f65e0Such mccs_keytrans, 1373659f65e0Such NULL, 1374659f65e0Such CMDMAP(mccs_cmdmap), 1375659f65e0Such KB_JP }, 1376659f65e0Such { &platid_mask_MACH_FUJITSU_INTERTOP, 1377659f65e0Such intertop_keytrans, 1378659f65e0Such NULL, 1379659f65e0Such NULLCMDMAP, 1380659f65e0Such KB_JP }, 138149cddb00Stakemura { &platid_mask_MACH_CASIO_POCKETPOSTPET, 138249cddb00Stakemura pocketpostpet_keytrans, 138349cddb00Stakemura NULL, 138449cddb00Stakemura NULLCMDMAP, 138549cddb00Stakemura KB_JP }, 1386659f65e0Such #endif /* hpcmips */ 138738626ea2Such #ifdef hpcsh 13882f3cc132Such /* 13892f3cc132Such * HP Jornada 680/690 13902f3cc132Such */ 139151243a1cSuch /* Japanese */ 1392b36a5509Such { &platid_mask_MACH_HP_JORNADA_680JP, 1393b36a5509Such jornada6x0_jp_keytrans, 139451243a1cSuch jornada6x0_special_keymap, 139538626ea2Such NULLCMDMAP, 139638626ea2Such KB_JP }, 139751243a1cSuch { &platid_mask_MACH_HP_JORNADA_690JP, 139851243a1cSuch jornada6x0_jp_keytrans, 139951243a1cSuch jornada6x0_special_keymap, 140051243a1cSuch NULLCMDMAP, 140151243a1cSuch KB_JP }, 14021cfc465cSuwe /* US (ABA), UK (ABU) */ 1403eb330e61Such { &platid_mask_MACH_HP_JORNADA_680, 1404eb330e61Such jornada6x0_us_keytrans, 1405eb330e61Such jornada6x0_special_keymap, 1406c3f9ee5dSpeter CMDMAP(jornada_us_keydesc), 1407eb330e61Such KB_US }, 1408eb330e61Such { &platid_mask_MACH_HP_JORNADA_690, 1409eb330e61Such jornada6x0_us_keytrans, 1410eb330e61Such jornada6x0_special_keymap, 1411c3f9ee5dSpeter CMDMAP(jornada_us_keydesc), 1412eb330e61Such KB_US }, 14131cfc465cSuwe /* European English (ABB) */ 14145b0626deSuwe { &platid_mask_MACH_HP_JORNADA_680EU, 14150982def9Suwe jornada6x0_intl_keytrans, 141651243a1cSuch jornada6x0_special_keymap, 1417c3f9ee5dSpeter CMDMAP(jornada_intl_keydesc), 14181cfc465cSuwe KB_US }, 14195b0626deSuwe { &platid_mask_MACH_HP_JORNADA_690EU, 14200982def9Suwe jornada6x0_intl_keytrans, 142151243a1cSuch jornada6x0_special_keymap, 1422c3f9ee5dSpeter CMDMAP(jornada_intl_keydesc), 14231cfc465cSuwe KB_US }, 14241cfc465cSuwe /* German (ABD) */ 142551243a1cSuch { &platid_mask_MACH_HP_JORNADA_680DE, 14260982def9Suwe jornada6x0_intl_keytrans, 142751243a1cSuch jornada6x0_special_keymap, 1428c3f9ee5dSpeter CMDMAP(jornada_de_keydesc), 142951243a1cSuch KB_DE }, 143051243a1cSuch { &platid_mask_MACH_HP_JORNADA_690DE, 14310982def9Suwe jornada6x0_intl_keytrans, 143251243a1cSuch jornada6x0_special_keymap, 1433c3f9ee5dSpeter CMDMAP(jornada_de_keydesc), 143451243a1cSuch KB_DE }, 14358dccb95eSuwe /* French (ABF) */ 14368dccb95eSuwe { &platid_mask_MACH_HP_JORNADA_680FR, 14378dccb95eSuwe jornada6x0_intl_keytrans, 14388dccb95eSuwe jornada6x0_special_keymap, 1439c3f9ee5dSpeter CMDMAP(jornada_fr_keydesc), 14408dccb95eSuwe KB_FR }, 14418dccb95eSuwe { &platid_mask_MACH_HP_JORNADA_690FR, 14428dccb95eSuwe jornada6x0_intl_keytrans, 14438dccb95eSuwe jornada6x0_special_keymap, 1444c3f9ee5dSpeter CMDMAP(jornada_fr_keydesc), 14458dccb95eSuwe KB_FR }, 14460e524a56Suwe /* Scandinavian */ 14470e524a56Suwe { &platid_mask_MACH_HP_JORNADA_680SV, 14480e524a56Suwe jornada6x0_intl_keytrans, 14490e524a56Suwe jornada6x0_special_keymap, 1450c3f9ee5dSpeter CMDMAP(jornada_scnv_keydesc), 14510e524a56Suwe KB_US }, 14520e524a56Suwe { &platid_mask_MACH_HP_JORNADA_690SV, 14530e524a56Suwe jornada6x0_intl_keytrans, 14540e524a56Suwe jornada6x0_special_keymap, 1455c3f9ee5dSpeter CMDMAP(jornada_scnv_keydesc), 14560e524a56Suwe KB_US }, 1457c1574ed6Suwe /* Spanish (ABE) */ 1458c1574ed6Suwe { &platid_mask_MACH_HP_JORNADA_680ES, 1459c1574ed6Suwe jornada6x0_intl_keytrans, 1460c1574ed6Suwe jornada6x0_special_keymap, 1461c3f9ee5dSpeter CMDMAP(jornada_es_keydesc), 1462c1574ed6Suwe KB_ES }, 1463c1574ed6Suwe { &platid_mask_MACH_HP_JORNADA_690ES, 1464c1574ed6Suwe jornada6x0_intl_keytrans, 1465c1574ed6Suwe jornada6x0_special_keymap, 1466c3f9ee5dSpeter CMDMAP(jornada_es_keydesc), 1467c1574ed6Suwe KB_ES }, 14682f3cc132Such /* 14692f3cc132Such * HP 620LX 14702f3cc132Such */ 14712f3cc132Such /* Japanese */ 14722f3cc132Such { &platid_mask_MACH_HP_LX_620JP, 14732f3cc132Such hp620lx_jp_keytrans, 14742f3cc132Such hp620lx_special_keymap, 14752f3cc132Such NULLCMDMAP, 14762f3cc132Such KB_JP }, 147706814ceeSuwe /* Other models */ 147806814ceeSuwe { &platid_mask_MACH_HP_LX_620, 147906814ceeSuwe hp620lx_intl_keytrans, 148006814ceeSuwe hp620lx_special_keymap, 148106814ceeSuwe NULLCMDMAP, 148206814ceeSuwe KB_US }, 148306814ceeSuwe 14841877683fSuch /* 14851877683fSuch * PERSONA HPW50PAD 14861877683fSuch */ 14871877683fSuch /* Japanese */ 14881877683fSuch { &platid_mask_MACH_HITACHI_PERSONA_HPW50PAD, 14891877683fSuch persona_hpw50pad_jp_keytrans, 14901877683fSuch persona_hpw50pad_special_keymap, 149117587c61Skiyohara CMDMAP(persona_hpw50pad_jp_keydesc), 14921877683fSuch KB_JP }, 1493378e6e42Such 1494378e6e42Such /* 1495378e6e42Such * PERSONA HPW200EC 1496378e6e42Such */ 1497378e6e42Such /* US */ 1498378e6e42Such { &platid_mask_MACH_HITACHI_PERSONA_HPW200EC, 1499378e6e42Such persona_hpw200ec_keytrans, 1500378e6e42Such persona_hpw200ec_special_keymap, 1501378e6e42Such NULLCMDMAP, 1502378e6e42Such KB_US }, 1503378e6e42Such 150438626ea2Such #endif /* hpcsh */ 1505c3f9ee5dSpeter #ifdef hpcarm 1506b62fc9e2Snonaka /* 1507b62fc9e2Snonaka * HP Jornada 710/720/728 1508b62fc9e2Snonaka */ 1509c3f9ee5dSpeter /* US (ABA), UK (ABU) */ 1510c3f9ee5dSpeter { &platid_mask_MACH_HP_JORNADA_720, 1511c3f9ee5dSpeter jornada7xx_us_keytrans, 1512c3f9ee5dSpeter jornada7xx_special_keymap, 1513c3f9ee5dSpeter CMDMAP(jornada_us_keydesc), 1514c3f9ee5dSpeter KB_US }, 1515c3f9ee5dSpeter /* Japanese */ 1516c3f9ee5dSpeter { &platid_mask_MACH_HP_JORNADA_720JP, 1517c3f9ee5dSpeter jornada7xx_jp_keytrans, 1518c3f9ee5dSpeter jornada7xx_special_keymap, 1519c3f9ee5dSpeter NULLCMDMAP, 1520c3f9ee5dSpeter KB_JP }, 1521c3f9ee5dSpeter /* European English (ABB) */ 1522c3f9ee5dSpeter { &platid_mask_MACH_HP_JORNADA_720EU, 1523c3f9ee5dSpeter jornada7xx_intl_keytrans, 1524c3f9ee5dSpeter jornada7xx_special_keymap, 1525c3f9ee5dSpeter CMDMAP(jornada_intl_keydesc), 1526c3f9ee5dSpeter KB_US }, 1527c3f9ee5dSpeter /* German (ABD) */ 1528c3f9ee5dSpeter { &platid_mask_MACH_HP_JORNADA_720DE, 1529c3f9ee5dSpeter jornada7xx_intl_keytrans, 1530c3f9ee5dSpeter jornada7xx_special_keymap, 1531c3f9ee5dSpeter CMDMAP(jornada_de_keydesc), 1532c3f9ee5dSpeter KB_DE }, 1533c3f9ee5dSpeter /* French (ABF) */ 1534c3f9ee5dSpeter { &platid_mask_MACH_HP_JORNADA_720FR, 1535c3f9ee5dSpeter jornada7xx_intl_keytrans, 1536c3f9ee5dSpeter jornada7xx_special_keymap, 1537c3f9ee5dSpeter CMDMAP(jornada_fr_keydesc), 1538c3f9ee5dSpeter KB_FR }, 1539c3f9ee5dSpeter /* Scandinavian */ 1540c3f9ee5dSpeter { &platid_mask_MACH_HP_JORNADA_720SV, 1541c3f9ee5dSpeter jornada7xx_intl_keytrans, 1542c3f9ee5dSpeter jornada7xx_special_keymap, 1543c3f9ee5dSpeter CMDMAP(jornada_scnv_keydesc), 1544c3f9ee5dSpeter KB_US }, 1545c3f9ee5dSpeter /* Spanish (ABE) */ 1546c3f9ee5dSpeter { &platid_mask_MACH_HP_JORNADA_720ES, 1547c3f9ee5dSpeter jornada7xx_intl_keytrans, 1548c3f9ee5dSpeter jornada7xx_special_keymap, 1549c3f9ee5dSpeter CMDMAP(jornada_es_keydesc), 1550c3f9ee5dSpeter KB_ES }, 1551b62fc9e2Snonaka /* 1552b62fc9e2Snonaka * Sharp W-ZERO3 1553b62fc9e2Snonaka */ 1554b62fc9e2Snonaka /* WS003SH */ 1555b62fc9e2Snonaka { &platid_mask_MACH_SHARP_WZERO3_WS003SH, 1556b62fc9e2Snonaka ws003sh_jp_keytrans, 1557b62fc9e2Snonaka ws003sh_special_keymap, 1558b62fc9e2Snonaka CMDMAP(ws003sh_jp_keydesc), 1559b62fc9e2Snonaka KB_JP }, 1560b62fc9e2Snonaka /* WS004SH */ 1561b62fc9e2Snonaka { &platid_mask_MACH_SHARP_WZERO3_WS004SH, 1562b62fc9e2Snonaka ws003sh_jp_keytrans, 1563b62fc9e2Snonaka ws003sh_special_keymap, 1564b62fc9e2Snonaka CMDMAP(ws003sh_jp_keydesc), 1565b62fc9e2Snonaka KB_JP }, 1566b62fc9e2Snonaka /* WS007SH */ 1567b62fc9e2Snonaka { &platid_mask_MACH_SHARP_WZERO3_WS007SH, 1568b62fc9e2Snonaka ws003sh_jp_keytrans, 1569b62fc9e2Snonaka ws003sh_special_keymap, 1570b62fc9e2Snonaka CMDMAP(ws003sh_jp_keydesc), 1571b62fc9e2Snonaka KB_JP }, 1572b62fc9e2Snonaka /* WS011SH */ 1573b62fc9e2Snonaka { &platid_mask_MACH_SHARP_WZERO3_WS011SH, 1574b62fc9e2Snonaka ws011sh_jp_keytrans, 1575b62fc9e2Snonaka ws011sh_special_keymap, 1576b62fc9e2Snonaka CMDMAP(ws011sh_jp_keydesc), 1577b62fc9e2Snonaka KB_JP }, 1578b62fc9e2Snonaka /* WS020SH */ 1579b62fc9e2Snonaka { &platid_mask_MACH_SHARP_WZERO3_WS020SH, 1580250a759eSnonaka ws020sh_jp_keytrans, 1581250a759eSnonaka ws020sh_special_keymap, 1582250a759eSnonaka CMDMAP(ws020sh_jp_keydesc), 1583b62fc9e2Snonaka KB_JP }, 1584*587ef940Skiyohara /* NETBOOK PRO */ 1585*587ef940Skiyohara { &platid_mask_MACH_PSIONTEKLOGIX_NETBOOK_PRO, 1586*587ef940Skiyohara netbookpro_keytrans, 1587*587ef940Skiyohara NULL, 1588*587ef940Skiyohara CMDMAP(netbookpro_keydesc), 1589*587ef940Skiyohara KB_US }, 1590c3f9ee5dSpeter #endif /* hpcarm */ 159144b35078Suwe 159244b35078Suwe { .ht_platform = NULL } /* end mark */ 1593659f65e0Such }; 1594