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