1
2#include "keymaps.h"
3
4static const name2keysym_t name2keysym[]={
5/* ascii */
6    { "space",                0x020},
7    { "exclam",               0x021},
8    { "quotedbl",             0x022},
9    { "numbersign",           0x023},
10    { "dollar",               0x024},
11    { "percent",              0x025},
12    { "ampersand",            0x026},
13    { "apostrophe",           0x027},
14    { "parenleft",            0x028},
15    { "parenright",           0x029},
16    { "asterisk",             0x02a},
17    { "plus",                 0x02b},
18    { "comma",                0x02c},
19    { "minus",                0x02d},
20    { "period",               0x02e},
21    { "slash",                0x02f},
22    { "0",                    0x030},
23    { "1",                    0x031},
24    { "2",                    0x032},
25    { "3",                    0x033},
26    { "4",                    0x034},
27    { "5",                    0x035},
28    { "6",                    0x036},
29    { "7",                    0x037},
30    { "8",                    0x038},
31    { "9",                    0x039},
32    { "colon",                0x03a},
33    { "semicolon",            0x03b},
34    { "less",                 0x03c},
35    { "equal",                0x03d},
36    { "greater",              0x03e},
37    { "question",             0x03f},
38    { "at",                   0x040},
39    { "A",                    0x041},
40    { "B",                    0x042},
41    { "C",                    0x043},
42    { "D",                    0x044},
43    { "E",                    0x045},
44    { "F",                    0x046},
45    { "G",                    0x047},
46    { "H",                    0x048},
47    { "I",                    0x049},
48    { "J",                    0x04a},
49    { "K",                    0x04b},
50    { "L",                    0x04c},
51    { "M",                    0x04d},
52    { "N",                    0x04e},
53    { "O",                    0x04f},
54    { "P",                    0x050},
55    { "Q",                    0x051},
56    { "R",                    0x052},
57    { "S",                    0x053},
58    { "T",                    0x054},
59    { "U",                    0x055},
60    { "V",                    0x056},
61    { "W",                    0x057},
62    { "X",                    0x058},
63    { "Y",                    0x059},
64    { "Z",                    0x05a},
65    { "bracketleft",          0x05b},
66    { "backslash",            0x05c},
67    { "bracketright",         0x05d},
68    { "asciicircum",          0x05e},
69    { "underscore",           0x05f},
70    { "grave",                0x060},
71    { "a",                    0x061},
72    { "b",                    0x062},
73    { "c",                    0x063},
74    { "d",                    0x064},
75    { "e",                    0x065},
76    { "f",                    0x066},
77    { "g",                    0x067},
78    { "h",                    0x068},
79    { "i",                    0x069},
80    { "j",                    0x06a},
81    { "k",                    0x06b},
82    { "l",                    0x06c},
83    { "m",                    0x06d},
84    { "n",                    0x06e},
85    { "o",                    0x06f},
86    { "p",                    0x070},
87    { "q",                    0x071},
88    { "r",                    0x072},
89    { "s",                    0x073},
90    { "t",                    0x074},
91    { "u",                    0x075},
92    { "v",                    0x076},
93    { "w",                    0x077},
94    { "x",                    0x078},
95    { "y",                    0x079},
96    { "z",                    0x07a},
97    { "braceleft",            0x07b},
98    { "bar",                  0x07c},
99    { "braceright",           0x07d},
100    { "asciitilde",           0x07e},
101
102/* latin 1 extensions */
103{ "nobreakspace",         0x0a0},
104{ "exclamdown",           0x0a1},
105{ "cent",         	  0x0a2},
106{ "sterling",             0x0a3},
107{ "currency",             0x0a4},
108{ "yen",                  0x0a5},
109{ "brokenbar",            0x0a6},
110{ "section",              0x0a7},
111{ "diaeresis",            0x0a8},
112{ "copyright",            0x0a9},
113{ "ordfeminine",          0x0aa},
114{ "guillemotleft",        0x0ab},
115{ "notsign",              0x0ac},
116{ "hyphen",               0x0ad},
117{ "registered",           0x0ae},
118{ "macron",               0x0af},
119{ "degree",               0x0b0},
120{ "plusminus",            0x0b1},
121{ "twosuperior",          0x0b2},
122{ "threesuperior",        0x0b3},
123{ "acute",                0x0b4},
124{ "mu",                   0x0b5},
125{ "paragraph",            0x0b6},
126{ "periodcentered",       0x0b7},
127{ "cedilla",              0x0b8},
128{ "onesuperior",          0x0b9},
129{ "masculine",            0x0ba},
130{ "guillemotright",       0x0bb},
131{ "onequarter",           0x0bc},
132{ "onehalf",              0x0bd},
133{ "threequarters",        0x0be},
134{ "questiondown",         0x0bf},
135{ "Agrave",               0x0c0},
136{ "Aacute",               0x0c1},
137{ "Acircumflex",          0x0c2},
138{ "Atilde",               0x0c3},
139{ "Adiaeresis",           0x0c4},
140{ "Aring",                0x0c5},
141{ "AE",                   0x0c6},
142{ "Ccedilla",             0x0c7},
143{ "Egrave",               0x0c8},
144{ "Eacute",               0x0c9},
145{ "Ecircumflex",          0x0ca},
146{ "Ediaeresis",           0x0cb},
147{ "Igrave",               0x0cc},
148{ "Iacute",               0x0cd},
149{ "Icircumflex",          0x0ce},
150{ "Idiaeresis",           0x0cf},
151{ "ETH",                  0x0d0},
152{ "Eth",                  0x0d0},
153{ "Ntilde",               0x0d1},
154{ "Ograve",               0x0d2},
155{ "Oacute",               0x0d3},
156{ "Ocircumflex",          0x0d4},
157{ "Otilde",               0x0d5},
158{ "Odiaeresis",           0x0d6},
159{ "multiply",             0x0d7},
160{ "Ooblique",             0x0d8},
161{ "Oslash",               0x0d8},
162{ "Ugrave",               0x0d9},
163{ "Uacute",               0x0da},
164{ "Ucircumflex",          0x0db},
165{ "Udiaeresis",           0x0dc},
166{ "Yacute",               0x0dd},
167{ "THORN",                0x0de},
168{ "Thorn",                0x0de},
169{ "ssharp",               0x0df},
170{ "agrave",               0x0e0},
171{ "aacute",               0x0e1},
172{ "acircumflex",          0x0e2},
173{ "atilde",               0x0e3},
174{ "adiaeresis",           0x0e4},
175{ "aring",                0x0e5},
176{ "ae",                   0x0e6},
177{ "ccedilla",             0x0e7},
178{ "egrave",               0x0e8},
179{ "eacute",               0x0e9},
180{ "ecircumflex",          0x0ea},
181{ "ediaeresis",           0x0eb},
182{ "igrave",               0x0ec},
183{ "iacute",               0x0ed},
184{ "icircumflex",          0x0ee},
185{ "idiaeresis",           0x0ef},
186{ "eth",                  0x0f0},
187{ "ntilde",               0x0f1},
188{ "ograve",               0x0f2},
189{ "oacute",               0x0f3},
190{ "ocircumflex",          0x0f4},
191{ "otilde",               0x0f5},
192{ "odiaeresis",           0x0f6},
193{ "division",             0x0f7},
194{ "oslash",               0x0f8},
195{ "ooblique",             0x0f8},
196{ "ugrave",               0x0f9},
197{ "uacute",               0x0fa},
198{ "ucircumflex",          0x0fb},
199{ "udiaeresis",           0x0fc},
200{ "yacute",               0x0fd},
201{ "thorn",                0x0fe},
202{ "ydiaeresis",           0x0ff},
203{"EuroSign", 0x20ac},  /* XK_EuroSign */
204
205    /* modifiers */
206{"ISO_Level3_Shift", 0xfe03}, /* XK_ISO_Level3_Shift */
207{"Control_L", 0xffe3}, /* XK_Control_L */
208{"Control_R", 0xffe4}, /* XK_Control_R */
209{"Alt_L", 0xffe9},     /* XK_Alt_L */
210{"Alt_R", 0xffea},     /* XK_Alt_R */
211{"Caps_Lock", 0xffe5}, /* XK_Caps_Lock */
212{"Meta_L", 0xffe7},    /* XK_Meta_L */
213{"Meta_R", 0xffe8},    /* XK_Meta_R */
214{"Shift_L", 0xffe1},   /* XK_Shift_L */
215{"Shift_R", 0xffe2},   /* XK_Shift_R */
216{"Super_L", 0xffeb},   /* XK_Super_L */
217{"Super_R", 0xffec},   /* XK_Super_R */
218
219    /* special keys */
220{"BackSpace", 0xff08}, /* XK_BackSpace */
221{"Tab", 0xff09},       /* XK_Tab */
222{"Return", 0xff0d},    /* XK_Return */
223{"Right", 0xff53},     /* XK_Right */
224{"Left", 0xff51},      /* XK_Left */
225{"Up", 0xff52},        /* XK_Up */
226{"Down", 0xff54},      /* XK_Down */
227{"Page_Down", 0xff56}, /* XK_Page_Down */
228{"Page_Up", 0xff55},   /* XK_Page_Up */
229{"Insert", 0xff63},    /* XK_Insert */
230{"Delete", 0xffff},    /* XK_Delete */
231{"Home", 0xff50},      /* XK_Home */
232{"End", 0xff57},       /* XK_End */
233{"Scroll_Lock", 0xff14}, /* XK_Scroll_Lock */
234{"KP_Home", 0xff95},
235{"KP_Left", 0xff96},
236{"KP_Up", 0xff97},
237{"KP_Right", 0xff98},
238{"KP_Down", 0xff99},
239{"KP_Prior", 0xff9a},
240{"KP_Page_Up", 0xff9a},
241{"KP_Next", 0xff9b},
242{"KP_Page_Down", 0xff9b},
243{"KP_End", 0xff9c},
244{"KP_Begin", 0xff9d},
245{"KP_Insert", 0xff9e},
246{"KP_Delete", 0xff9f},
247{"F1", 0xffbe},        /* XK_F1 */
248{"F2", 0xffbf},        /* XK_F2 */
249{"F3", 0xffc0},        /* XK_F3 */
250{"F4", 0xffc1},        /* XK_F4 */
251{"F5", 0xffc2},        /* XK_F5 */
252{"F6", 0xffc3},        /* XK_F6 */
253{"F7", 0xffc4},        /* XK_F7 */
254{"F8", 0xffc5},        /* XK_F8 */
255{"F9", 0xffc6},        /* XK_F9 */
256{"F10", 0xffc7},       /* XK_F10 */
257{"F11", 0xffc8},       /* XK_F11 */
258{"F12", 0xffc9},       /* XK_F12 */
259{"F13", 0xffca},       /* XK_F13 */
260{"F14", 0xffcb},       /* XK_F14 */
261{"F15", 0xffcc},       /* XK_F15 */
262{"Sys_Req", 0xff15},   /* XK_Sys_Req */
263{"KP_0", 0xffb0},      /* XK_KP_0 */
264{"KP_1", 0xffb1},      /* XK_KP_1 */
265{"KP_2", 0xffb2},      /* XK_KP_2 */
266{"KP_3", 0xffb3},      /* XK_KP_3 */
267{"KP_4", 0xffb4},      /* XK_KP_4 */
268{"KP_5", 0xffb5},      /* XK_KP_5 */
269{"KP_6", 0xffb6},      /* XK_KP_6 */
270{"KP_7", 0xffb7},      /* XK_KP_7 */
271{"KP_8", 0xffb8},      /* XK_KP_8 */
272{"KP_9", 0xffb9},      /* XK_KP_9 */
273{"KP_Add", 0xffab},    /* XK_KP_Add */
274{"KP_Separator", 0xffac},/* XK_KP_Separator */
275{"KP_Decimal", 0xffae},  /* XK_KP_Decimal */
276{"KP_Divide", 0xffaf},   /* XK_KP_Divide */
277{"KP_Enter", 0xff8d},    /* XK_KP_Enter */
278{"KP_Equal", 0xffbd},    /* XK_KP_Equal */
279{"KP_Multiply", 0xffaa}, /* XK_KP_Multiply */
280{"KP_Subtract", 0xffad}, /* XK_KP_Subtract */
281{"help", 0xff6a},        /* XK_Help */
282{"Menu", 0xff67},        /* XK_Menu */
283{"Print", 0xff61},       /* XK_Print */
284{"Mode_switch", 0xff7e}, /* XK_Mode_switch */
285{"Num_Lock", 0xff7f},    /* XK_Num_Lock */
286{"Pause", 0xff13},       /* XK_Pause */
287{"Escape", 0xff1b},      /* XK_Escape */
288
289/* dead keys */
290{"dead_grave", 0xfe50}, /* XK_dead_grave */
291{"dead_acute", 0xfe51}, /* XK_dead_acute */
292{"dead_circumflex", 0xfe52}, /* XK_dead_circumflex */
293{"dead_tilde", 0xfe53}, /* XK_dead_tilde */
294{"dead_macron", 0xfe54}, /* XK_dead_macron */
295{"dead_breve", 0xfe55}, /* XK_dead_breve */
296{"dead_abovedot", 0xfe56}, /* XK_dead_abovedot */
297{"dead_diaeresis", 0xfe57}, /* XK_dead_diaeresis */
298{"dead_abovering", 0xfe58}, /* XK_dead_abovering */
299{"dead_doubleacute", 0xfe59}, /* XK_dead_doubleacute */
300{"dead_caron", 0xfe5a}, /* XK_dead_caron */
301{"dead_cedilla", 0xfe5b}, /* XK_dead_cedilla */
302{"dead_ogonek", 0xfe5c}, /* XK_dead_ogonek */
303{"dead_iota", 0xfe5d}, /* XK_dead_iota */
304{"dead_voiced_sound", 0xfe5e}, /* XK_dead_voiced_sound */
305{"dead_semivoiced_sound", 0xfe5f}, /* XK_dead_semivoiced_sound */
306{"dead_belowdot", 0xfe60}, /* XK_dead_belowdot */
307{"dead_hook", 0xfe61}, /* XK_dead_hook */
308{"dead_horn", 0xfe62}, /* XK_dead_horn */
309
310
311    /* localized keys */
312{"BackApostrophe", 0xff21},
313{"Muhenkan", 0xff22},
314{"Katakana", 0xff27},
315{"Hankaku", 0xff29},
316{"Zenkaku_Hankaku", 0xff2a},
317{"Henkan_Mode_Real", 0xff23},
318{"Henkan_Mode_Ultra", 0xff3e},
319{"backslash_ja", 0xffa5},
320{"Katakana_Real", 0xff25},
321{"Eisu_toggle", 0xff30},
322
323{NULL,0},
324};
325