1 /* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996 2 * Jamie Zawinski <jwz@jwz.org> 3 * 4 * This file describes the default keymap for the 5 * Gateway 2000 AnyKey programmable PC keyboard. 6 * Generated by Jarrod Smith <jsmith@scripps.edu> 7 * 8 * Important notes about this keyboard: 9 * 10 * In order for all the keysyms to work properly, the programmable ROM 11 * inside the keyboard may need to be reset to factory default by pressing 12 * <Ctrl>-<Alt>-<Suspnd Macro> 13 * even if you have NEVER programmed anything into the keyboard! If you 14 * have programmed macros in that you don't want to lose, you should be 15 * able to save them by using the DOS utility that came with the keyboard 16 * BEFORE you reset the ROM. 17 * 18 * I couldn't get xmodmap to get the BackSpace keysym working right for my 19 * keyboard until I did this. It would let me change the keysym for my 20 * backspace key from Delete to BackSpace which is what I wanted it to do, 21 * but I have no clue what the BackSpace keysym was doing! Certainly not 22 * Backspacing!!! It worked on the command-line, but in some X apps it 23 * would give me the <+/-> character, and in others, nothing... weird. 24 * 25 * Also, there are four diagonal cursor keys on this keyboard (up-left, 26 * up-right, down-left, down-right) which each generate two keycodes per 27 * keypress event. I didn't know what to do about this in the 28 * gw2k-codes.h file, so I just put in the first keycode that gets 29 * generated (see the comments in row4 and row6 in that file). Also, I 30 * didn't know what to put in the gw2k-caps.h file since there are no 31 * diagonal arrow keycaps to put on the keys, so again, I put the keycap 32 * that corresponds to the first keycode generated (I tried putting both 33 * on, but it looked funny to me) and "shifted" the arrows to differentiate 34 * them from the normal up and down keys. 35 */ 36 37 static const struct default_keycode_map gw2k_map [] = { 38 39 /* This key has a keycode, but no keysym in the default map */ 40 { 111, 0, { XK_Print }}, /* Print Screen */ 41 42 { 9, 0, { XK_Escape }}, 43 { 10, 0, { XK_1, XK_exclam }}, 44 { 11, 0, { XK_2, XK_at }}, 45 { 12, 0, { XK_3, XK_numbersign }}, 46 { 13, 0, { XK_4, XK_dollar }}, 47 { 14, 0, { XK_5, XK_percent }}, 48 { 15, 0, { XK_6, XK_asciicircum }}, 49 { 16, 0, { XK_7, XK_ampersand, 50 XK_braceleft }}, 51 { 17, 0, { XK_8, XK_asterisk, 52 XK_bracketleft }}, 53 { 18, 0, { XK_9, XK_parenleft, 54 XK_bracketright }}, 55 { 19, 0, { XK_0, XK_parenright, 56 XK_braceright }}, 57 { 20, 0, { XK_minus, XK_underscore, 58 XK_backslash }}, 59 { 21, 0, { XK_equal, XK_plus }}, 60 { 22, 0, { XK_Delete }}, 61 { 23, 0, { XK_Tab }}, 62 { 24, 0, { XK_q, XK_Q, 63 XK_q }}, 64 { 25, 0, { XK_w, XK_W, 65 XK_w }}, 66 { 26, 0, { XK_e, XK_E }}, 67 { 27, 0, { XK_r, XK_R, 68 XK_r }}, 69 { 28, 0, { XK_t, XK_T, 70 XK_t }}, 71 { 29, 0, { XK_y, XK_Y, 72 XK_y }}, 73 { 30, 0, { XK_u, XK_U, 74 XK_u }}, 75 { 31, 0, { XK_i, XK_I, 76 XK_i }}, 77 { 32, 0, { XK_o, XK_O, 78 XK_o }}, 79 { 33, 0, { XK_p, XK_P, 80 XK_p }}, 81 { 34, 0, { XK_bracketleft, XK_braceleft }}, 82 { 35, 0, { XK_bracketright, XK_braceright, 83 XK_asciitilde }}, 84 { 36, 0, { XK_Return }}, 85 { 37, ControlMask, { XK_Control_L }}, 86 { 38, 0, { XK_a, XK_A }}, 87 { 39, 0, { XK_s, XK_S, 88 XK_s }}, 89 { 40, 0, { XK_d, XK_D }}, 90 { 41, 0, { XK_f, XK_F }}, 91 { 42, 0, { XK_g, XK_G, 92 XK_g }}, 93 { 43, 0, { XK_h, XK_H, 94 XK_h }}, 95 { 44, 0, { XK_j, XK_J, 96 XK_j }}, 97 { 45, 0, { XK_k, XK_K, 98 XK_k }}, 99 { 46, 0, { XK_l, XK_L, 100 XK_l }}, 101 { 47, 0, { XK_semicolon, XK_colon }}, 102 { 48, 0, { XK_apostrophe, XK_quotedbl }}, 103 { 49, 0, { XK_grave, XK_asciitilde }}, 104 { 50, ShiftMask, { XK_Shift_L }}, 105 { 51, 0, { XK_backslash, XK_bar }}, 106 { 52, 0, { XK_z, XK_Z, 107 XK_z }}, 108 { 53, 0, { XK_x, XK_X, 109 XK_x }}, 110 { 54, 0, { XK_c, XK_C }}, 111 { 55, 0, { XK_v, XK_V, 112 XK_v }}, 113 { 56, 0, { XK_b, XK_B }}, 114 { 57, 0, { XK_n, XK_N, 115 XK_n }}, 116 { 58, 0, { XK_m, XK_M, 117 XK_m }}, 118 { 59, 0, { XK_comma, XK_less }}, 119 { 60, 0, { XK_period, XK_greater }}, 120 { 61, 0, { XK_slash, XK_question }}, 121 { 62, ShiftMask, { XK_Shift_R }}, 122 { 63, 0, { XK_KP_Multiply }}, 123 { 64, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, 124 { 65, 0, { XK_space }}, 125 { 66, LockMask, { XK_Caps_Lock }}, 126 { 67, 0, { XK_F1, XK_F11 }}, 127 { 68, 0, { XK_F2, XK_F12 }}, 128 { 69, Mod3Mask, { XK_F3, XK_F13 }}, 129 { 70, 0, { XK_F4, XK_F14 }}, 130 { 71, 0, { XK_F5, XK_F15 }}, 131 { 72, 0, { XK_F6, XK_F16 }}, 132 { 73, 0, { XK_F7, XK_F17 }}, 133 { 74, Mod3Mask, { XK_F8, XK_F18 }}, 134 { 75, 0, { XK_F9, XK_F19 }}, 135 { 76, Mod3Mask, { XK_F10, XK_F20 }}, 136 { 77, Mod2Mask, { XK_Num_Lock }}, 137 { 78, 0, { XK_Multi_key }}, 138 { 79, 0, { XK_KP_7 }}, 139 { 80, 0, { XK_KP_8 }}, 140 { 81, 0, { XK_KP_9 }}, 141 { 82, 0, { XK_KP_Subtract }}, 142 { 83, 0, { XK_KP_4 }}, 143 { 84, 0, { XK_KP_5 }}, 144 { 85, 0, { XK_KP_6 }}, 145 { 86, 0, { XK_KP_Add }}, 146 { 87, 0, { XK_KP_1 }}, 147 { 88, 0, { XK_KP_2 }}, 148 { 89, 0, { XK_KP_3 }}, 149 { 90, 0, { XK_KP_0 }}, 150 { 91, 0, { XK_KP_Decimal }}, 151 { 94, 0, { XK_less, XK_greater, 152 XK_bar }}, 153 { 95, 0, { XK_F11 }}, 154 { 96, 0, { XK_F12 }}, 155 { 97, 0, { XK_Home }}, 156 { 98, 0, { XK_Up }}, 157 { 99, 0, { XK_Prior }}, 158 { 100, 0, { XK_Left }}, 159 { 102, 0, { XK_Right }}, 160 { 103, 0, { XK_End }}, 161 { 104, 0, { XK_Down }}, 162 { 105, 0, { XK_Next }}, 163 { 106, 0, { XK_Insert }}, 164 { 107, 0, { XK_Delete }}, 165 { 108, 0, { XK_KP_Enter }}, 166 { 109, ControlMask, { XK_Control_R }}, 167 { 110, 0, { XK_Pause }}, 168 { 112, 0, { XK_KP_Divide }}, 169 { 113, Mod5Mask, { XK_Mode_switch }}, 170 { 114, 0, { XK_Break }} 171 }; 172