diff options
| author | nonaka <nonaka@NetBSD.org> | 2010-04-17 13:36:21 +0000 |
|---|---|---|
| committer | nonaka <nonaka@NetBSD.org> | 2010-04-17 13:36:21 +0000 |
| commit | b62fc9e20372b08e1785ff6d769312d209fa2005 (patch) | |
| tree | 42cbcb1a5646aedce6ab49d25fd0006493aaccbe /sys/dev/hpc | |
| parent | 18871937ddfb05044415c362f07e6647b707262f (diff) | |
Added Sharp W-ZERO3 series support.
Diffstat (limited to 'sys/dev/hpc')
| -rw-r--r-- | sys/dev/hpc/hpckbdkeymap.h | 189 |
1 files changed, 188 insertions, 1 deletions
diff --git a/sys/dev/hpc/hpckbdkeymap.h b/sys/dev/hpc/hpckbdkeymap.h index ddf2124bf37..322fcb860ce 100644 --- a/sys/dev/hpc/hpckbdkeymap.h +++ b/sys/dev/hpc/hpckbdkeymap.h @@ -1,4 +1,4 @@ -/* $NetBSD: hpckbdkeymap.h,v 1.48 2008/04/28 20:23:48 martin Exp $ */ +/* $NetBSD: hpckbdkeymap.h,v 1.49 2010/04/17 13:36:21 nonaka Exp $ */ /*- * Copyright (c) 1999-2002 The NetBSD Foundation, Inc. @@ -831,6 +831,157 @@ const int jornada7xx_special_keymap[] = { [KEY_SPECIAL_OFF] = 127, [KEY_SPECIAL_LIGHT] = -1 }; + +/* + * Sharp W-ZERO3 series + */ +/* + * WS003SH/WS004SH/WS007SH keyscan map + CTRL (none) TAB (none) CALL MAIL IE + 1 2 q w a z MOJI + 3 4 e s d x (none) + 5 r t f c - OK + 6 y g v b SPACE ACTION + 7 8 u h n / , + 9 i j m . (none) LEFT + 0 o k l (none) UP DOWN + BS p (none) (none) ENTER (none) RIGHT + (none) (none) (none) (none) (none) (none) (none) + ROTATE VOL- (none) SHIFT WIN LSOFT RSOFT + CAMERA VOL+ (none) (none) (none) FN (none) +*/ +/* Japanese */ +const uint8_t ws003sh_jp_keytrans[] = { +/* row#0, row#1, row#2, row#3, row#4, row#5, row#6, */ +/*00*/ 29, UNK, 15, UNK, IGN, IGN, IGN, +/*01*/ 2, 3, 16, 17, 30, 44, 1, +/*02*/ 4, 5, 18, 31, 32, 45, UNK, +/*03*/ 6, 19, 20, 33, 46, 12, 28, +/*04*/ 7, 21, 34, 47, 48, 57, 28, +/*05*/ 8, 9, 22, 35, 49, 53, 51, +/*06*/ 10, 23, 36, 50, 52, UNK, 203, +/*07*/ 11, 24, 37, 38, UNK, 200, 208, +/*08*/ 14, 25, UNK, UNK, 28, UNK, 205, +/*09*/ UNK, UNK, UNK, UNK, UNK, UNK, UNK, +/*10*/ IGN, 174, UNK, 42, IGN, IGN, IGN, +/*11*/ IGN, 176, UNK, UNK, UNK, 184, SPL, +}; + +const int ws003sh_special_keymap[] = { + [KEY_SPECIAL_OFF] = 83, + [KEY_SPECIAL_LIGHT] = -1 +}; + +static const keysym_t ws003sh_jp_keydesc[] = { +/* pos normal shifted altgr */ + KC(4), KS_3, KS_numbersign, KS_Cmd_BrightnessDown, + KC(5), KS_4, KS_dollar, KS_Cmd_BrightnessUp, + KC(8), KS_7, KS_apostrophe, KS_grave, + KC(9), KS_8, KS_parenleft, KS_braceleft, + KC(10), KS_9, KS_parenright, KS_braceright, + KC(12), KS_minus, KS_equal, KS_backslash, + KC(14), KS_Delete, KS_Delete, KS_BackSpace, + KC(15), KS_Tab, KS_Tab, KS_Escape, + KC(17), KS_w, KS_W, KS_asciicircum, + KC(18), KS_e, KS_E, KS_asciitilde, + KC(19), KS_r, KS_R, KS_bar, + KC(22), KS_u, KS_U, KS_bracketleft, + KC(23), KS_i, KS_I, KS_bracketright, + KC(24), KS_o, KS_O, KS_underscore, + KC(25), KS_p, KS_P, KS_at, + KC(37), KS_k, KS_K, KS_plus, + KC(38), KS_l, KS_L, KS_asterisk, + KC(42), KS_Shift_L, KS_Shift_L, KS_Shift_Lock, + KC(51), KS_comma, KS_semicolon, KS_less, + KC(52), KS_period, KS_colon, KS_greater, + KC(184), KS_Mode_switch, KS_Multi_key, + KC(200), KS_Up, KS_Up, KS_Prior, + KC(203), KS_Left, KS_Left, KS_Home, + KC(205), KS_Right, KS_Right, KS_End, + KC(208), KS_Down, KS_Down, KS_Next, +}; + +/* + * WS011SH/WS020SH keyscan map + Ctrl (none) Tab (none) (none) (none) (none) + (none) (none) Q W A Z MOJI + (none) (none) E S D X HAN/ZEN + (none) R T F C - OK + (none) Y G V B Space (none) + (none) (none) U H N / , + (none) I J M . (none) LEFT + (none) O K L (none) UP DOWN + Del (none) (none) (none) Enter (none) RIGHT + (none) (none) (none) (none) (none) (none) (none) + ROTATE (none) (none) SHIFT (none) (none) (none) + (none) (none) (none) (none) (none) FN (none) +*/ +/* Japanese */ +const uint8_t ws011sh_jp_keytrans[] = { +/* row#0, row#1, row#2, row#3, row#4, row#5, row#6, */ +/*00*/ 29, UNK, 15, UNK, UNK, UNK, UNK, +/*01*/ UNK, UNK, 16, 17, 30, 44, 1, +/*02*/ UNK, UNK, 18, 31, 32, 45, 41, +/*03*/ UNK, 19, 20, 33, 46, 12, 3, +/*04*/ UNK, 21, 34, 47, 48, 57, UNK, +/*05*/ UNK, UNK, 22, 35, 49, 53, 51, +/*06*/ UNK, 23, 36, 50, 52, UNK, 203, +/*07*/ UNK, 24, 37, 38, UNK, 200, 208, +/*08*/ 14, 25, UNK, UNK, 28, UNK, 205, +/*09*/ UNK, UNK, UNK, UNK, UNK, UNK, UNK, +/*10*/ IGN, UNK, UNK, 42, UNK, UNK, UNK, +/*11*/ UNK, UNK, UNK, UNK, UNK, 184, SPL, +}; + +const int ws011sh_special_keymap[] = { + [KEY_SPECIAL_OFF] = 83, + [KEY_SPECIAL_LIGHT] = -1 +}; + +static const keysym_t ws011sh_jp_keydesc[] = { +/* pos normal shifted altgr */ + KC(3), KS_grave, KS_braceleft, KS_braceright, + KC(12), KS_minus, KS_equal, KS_backslash, + KC(14), KS_Delete, KS_Delete, KS_BackSpace, + KC(15), KS_Tab, KS_Tab, KS_Escape, + KC(16), KS_q, KS_Q, KS_quotedbl, + KC(17), KS_w, KS_W, KS_numbersign, + KC(18), KS_e, KS_E, KS_dollar, + KC(19), KS_r, KS_R, KS_percent, + KC(20), KS_t, KS_T, KS_ampersand, + KC(21), KS_y, KS_Y, KS_1, + KC(22), KS_u, KS_U, KS_2, + KC(23), KS_i, KS_I, KS_3, + KC(24), KS_o, KS_O, KS_underscore, + KC(25), KS_p, KS_P, KS_at, + KC(30), KS_a, KS_A, KS_bracketleft, + KC(31), KS_s, KS_S, KS_apostrophe, + KC(32), KS_d, KS_D, KS_parenleft, + KC(33), KS_f, KS_F, KS_parenright, + KC(34), KS_g, KS_G, KS_asterisk, + KC(35), KS_h, KS_H, KS_4, + KC(36), KS_j, KS_J, KS_5, + KC(37), KS_k, KS_K, KS_6, + KC(38), KS_l, KS_L, KS_plus, + KC(41), KS_Zenkaku_Hankaku, KS_Zenkaku_Hankaku, KS_exclam, + KC(42), KS_Shift_L, KS_Shift_L, KS_Shift_Lock, + KC(44), KS_z, KS_Z, KS_bracketright, + KC(45), KS_x, KS_X, KS_asciicircum, + KC(46), KS_c, KS_C, KS_asciitilde, + KC(47), KS_v, KS_V, KS_bar, + KC(48), KS_b, KS_B, KS_7, + KC(49), KS_n, KS_N, KS_8, + KC(50), KS_m, KS_M, KS_9, + KC(51), KS_comma, KS_less, KS_semicolon, + KC(52), KS_period, KS_greater, KS_colon, + KC(53), KS_slash, KS_question, KS_0, + KC(57), KS_space, + KC(184), KS_Mode_switch, KS_Multi_key, + KC(200), KS_Up, KS_Up, KS_Prior, + KC(203), KS_Left, KS_Left, KS_Home, + KC(205), KS_Right, KS_Right, KS_End, + KC(208), KS_Down, KS_Down, KS_Next, +}; #endif /* hpcarm */ #if defined(hpcarm) || defined(hpcsh) @@ -1227,6 +1378,9 @@ const struct hpckbd_keymap_table { #endif /* hpcsh */ #ifdef hpcarm + /* + * HP Jornada 710/720/728 + */ /* US (ABA), UK (ABU) */ { &platid_mask_MACH_HP_JORNADA_720, jornada7xx_us_keytrans, @@ -1269,6 +1423,39 @@ const struct hpckbd_keymap_table { jornada7xx_special_keymap, CMDMAP(jornada_es_keydesc), KB_ES }, + /* + * Sharp W-ZERO3 + */ + /* WS003SH */ + { &platid_mask_MACH_SHARP_WZERO3_WS003SH, + ws003sh_jp_keytrans, + ws003sh_special_keymap, + CMDMAP(ws003sh_jp_keydesc), + KB_JP }, + /* WS004SH */ + { &platid_mask_MACH_SHARP_WZERO3_WS004SH, + ws003sh_jp_keytrans, + ws003sh_special_keymap, + CMDMAP(ws003sh_jp_keydesc), + KB_JP }, + /* WS007SH */ + { &platid_mask_MACH_SHARP_WZERO3_WS007SH, + ws003sh_jp_keytrans, + ws003sh_special_keymap, + CMDMAP(ws003sh_jp_keydesc), + KB_JP }, + /* WS011SH */ + { &platid_mask_MACH_SHARP_WZERO3_WS011SH, + ws011sh_jp_keytrans, + ws011sh_special_keymap, + CMDMAP(ws011sh_jp_keydesc), + KB_JP }, + /* WS020SH */ + { &platid_mask_MACH_SHARP_WZERO3_WS020SH, + ws011sh_jp_keytrans, + ws011sh_special_keymap, + CMDMAP(ws011sh_jp_keydesc), + KB_JP }, #endif /* hpcarm */ { .ht_platform = NULL } /* end mark */ |
