1 /* $NetBSD: newskeymap.c,v 1.2 2001/11/13 07:30:37 lukem Exp $ */ 2 3 /*- 4 * Copyright (c) 2000 Tsubai Masanari. All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: 9 * 1. Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * 2. Redistributions in binary form must reproduce the above copyright 12 * notice, this list of conditions and the following disclaimer in the 13 * documentation and/or other materials provided with the distribution. 14 * 3. The name of the author may not be used to endorse or promote products 15 * derived from this software without specific prior written permission. 16 * 17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 18 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 19 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 */ 28 29 #include <sys/cdefs.h> 30 __KERNEL_RCSID(0, "$NetBSD: newskeymap.c,v 1.2 2001/11/13 07:30:37 lukem Exp $"); 31 32 #include <sys/types.h> 33 #include <dev/wscons/wsksymdef.h> 34 #include <dev/wscons/wsksymvar.h> 35 36 #define KC(n) KS_KEYCODE(n) 37 38 const keysym_t newskb_keydesc_jp[] = { 39 /* pos command normal shifted */ 40 KC(1), KS_F1, 41 KC(2), KS_F2, 42 KC(3), KS_F3, 43 KC(4), KS_F4, 44 KC(5), KS_F5, 45 KC(6), KS_F6, 46 KC(7), KS_F7, 47 KC(8), KS_F8, 48 KC(9), KS_F9, 49 KC(10), KS_F10, 50 51 KC(11), KS_Cmd_Debugger, KS_Escape, 52 KC(12), KS_1, KS_exclam, 53 KC(13), KS_2, KS_at, 54 KC(14), KS_3, KS_numbersign, 55 KC(15), KS_4, KS_dollar, 56 KC(16), KS_5, KS_percent, 57 KC(17), KS_6, KS_asciicircum, 58 KC(18), KS_7, KS_ampersand, 59 KC(19), KS_8, KS_asterisk, 60 KC(20), KS_9, KS_parenleft, 61 KC(21), KS_0, KS_parenright, 62 KC(22), KS_minus, KS_underscore, 63 KC(23), KS_equal, KS_plus, 64 KC(24), KS_backslash, KS_bar, 65 KC(25), KS_BackSpace, 66 67 KC(26), KS_Tab, 68 KC(27), KS_q, 69 KC(28), KS_w, 70 KC(29), KS_e, 71 KC(30), KS_r, 72 KC(31), KS_t, 73 KC(32), KS_y, 74 KC(33), KS_u, 75 KC(34), KS_i, 76 KC(35), KS_o, 77 KC(36), KS_p, 78 KC(37), KS_bracketleft, KS_braceleft, 79 KC(38), KS_bracketright, KS_braceright, 80 KC(39), KS_Cmd_ResetEmul, KS_Delete, 81 82 KC(40), KS_Cmd1, KS_Control_L, 83 KC(41), KS_a, 84 KC(42), KS_s, 85 KC(43), KS_d, 86 KC(44), KS_f, 87 KC(45), KS_g, 88 KC(46), KS_h, 89 KC(47), KS_j, 90 KC(48), KS_k, 91 KC(49), KS_l, 92 KC(50), KS_semicolon, KS_colon, 93 KC(51), KS_apostrophe, KS_quotedbl, 94 KC(52), KS_grave, KS_asciitilde, 95 KC(53), KS_Return, 96 97 KC(54), KS_Shift_L, 98 KC(55), KS_z, 99 KC(56), KS_x, 100 KC(57), KS_c, 101 KC(58), KS_v, 102 KC(59), KS_b, 103 KC(60), KS_n, 104 KC(61), KS_m, 105 KC(62), KS_comma, KS_less, 106 KC(63), KS_period, KS_greater, 107 KC(64), KS_slash, KS_question, 108 KC(65), 109 KC(66), KS_Shift_R, 110 KC(67), KS_Cmd2, KS_Alt_L, 111 KC(68), KS_Caps_Lock, 112 KC(69), KS_Muhenkan, 113 KC(70), KS_space, 114 KC(71), KS_Henkan, 115 KC(72), /* eisu */ 116 KC(73), /* kana */ 117 KC(74), KS_Execute, 118 119 KC(75), KS_KP_7, 120 KC(76), KS_KP_8, 121 KC(77), KS_KP_9, 122 KC(78), KS_KP_Subtract, 123 KC(79), KS_KP_4, 124 KC(80), KS_KP_5, 125 KC(81), KS_KP_6, 126 KC(82), KS_KP_Add, 127 KC(83), KS_KP_1, 128 KC(84), KS_KP_2, 129 KC(85), KS_KP_3, 130 KC(86), KS_KP_Separator, 131 KC(87), KS_KP_0, 132 KC(88), KS_KP_Up, 133 KC(89), KS_KP_Decimal, 134 KC(90), KS_KP_Enter, 135 KC(91), KS_KP_Left, 136 KC(92), KS_KP_Down, 137 KC(93), KS_KP_Right, 138 139 KC(100), KS_KP_Multiply, 140 KC(101), KS_KP_Divide, 141 KC(102), KS_KP_Tab, 142 KC(104), KS_F11, 143 KC(105), KS_F12, 144 KC(106), KS_Help, 145 KC(107), KS_Insert, 146 KC(108), KS_Clear, 147 KC(109), KS_Prior, 148 KC(110), KS_Next, 149 150 KC(122), /* power on */ 151 }; 152 153 #define KBD_MAP(name, base, map) \ 154 { name, base, sizeof(map) / sizeof(keysym_t), map } 155 156 const struct wscons_keydesc newskb_keydesctab[] = { 157 KBD_MAP(KB_JP, 0, newskb_keydesc_jp), 158 { 0 } 159 }; 160