xref: /openbmc/qemu/ui/vnc_keysym.h (revision 8917c3bd)
1 
2 #include "keymaps.h"
3 
4 static 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 /* latin 2 - Polish national characters */
206 { "eogonek",              0x1ea},
207 { "Eogonek",              0x1ca},
208 { "aogonek",              0x1b1},
209 { "Aogonek",              0x1a1},
210 { "sacute",               0x1b6},
211 { "Sacute",               0x1a6},
212 { "lstroke",              0x1b3},
213 { "Lstroke",              0x1a3},
214 { "zabovedot",            0x1bf},
215 { "Zabovedot",            0x1af},
216 { "zacute",               0x1bc},
217 { "Zacute",               0x1ac},
218 { "Odoubleacute",         0x1d5},
219 { "Udoubleacute",         0x1db},
220 { "cacute",               0x1e6},
221 { "Cacute",               0x1c6},
222 { "nacute",               0x1f1},
223 { "Nacute",               0x1d1},
224 { "odoubleacute",         0x1f5},
225 { "udoubleacute",         0x1fb},
226 
227     /* modifiers */
228 {"ISO_Level3_Shift", 0xfe03}, /* XK_ISO_Level3_Shift */
229 {"Control_L", 0xffe3}, /* XK_Control_L */
230 {"Control_R", 0xffe4}, /* XK_Control_R */
231 {"Alt_L", 0xffe9},     /* XK_Alt_L */
232 {"Alt_R", 0xffea},     /* XK_Alt_R */
233 {"Caps_Lock", 0xffe5}, /* XK_Caps_Lock */
234 {"Meta_L", 0xffe7},    /* XK_Meta_L */
235 {"Meta_R", 0xffe8},    /* XK_Meta_R */
236 {"Shift_L", 0xffe1},   /* XK_Shift_L */
237 {"Shift_R", 0xffe2},   /* XK_Shift_R */
238 {"Super_L", 0xffeb},   /* XK_Super_L */
239 {"Super_R", 0xffec},   /* XK_Super_R */
240 
241     /* special keys */
242 {"BackSpace", 0xff08}, /* XK_BackSpace */
243 {"Tab", 0xff09},       /* XK_Tab */
244 {"Return", 0xff0d},    /* XK_Return */
245 {"Right", 0xff53},     /* XK_Right */
246 {"Left", 0xff51},      /* XK_Left */
247 {"Up", 0xff52},        /* XK_Up */
248 {"Down", 0xff54},      /* XK_Down */
249 {"Page_Down", 0xff56}, /* XK_Page_Down */
250 {"Page_Up", 0xff55},   /* XK_Page_Up */
251 {"Insert", 0xff63},    /* XK_Insert */
252 {"Delete", 0xffff},    /* XK_Delete */
253 {"Home", 0xff50},      /* XK_Home */
254 {"End", 0xff57},       /* XK_End */
255 {"Scroll_Lock", 0xff14}, /* XK_Scroll_Lock */
256 {"KP_Home", 0xff95},
257 {"KP_Left", 0xff96},
258 {"KP_Up", 0xff97},
259 {"KP_Right", 0xff98},
260 {"KP_Down", 0xff99},
261 {"KP_Prior", 0xff9a},
262 {"KP_Page_Up", 0xff9a},
263 {"KP_Next", 0xff9b},
264 {"KP_Page_Down", 0xff9b},
265 {"KP_End", 0xff9c},
266 {"KP_Begin", 0xff9d},
267 {"KP_Insert", 0xff9e},
268 {"KP_Delete", 0xff9f},
269 {"F1", 0xffbe},        /* XK_F1 */
270 {"F2", 0xffbf},        /* XK_F2 */
271 {"F3", 0xffc0},        /* XK_F3 */
272 {"F4", 0xffc1},        /* XK_F4 */
273 {"F5", 0xffc2},        /* XK_F5 */
274 {"F6", 0xffc3},        /* XK_F6 */
275 {"F7", 0xffc4},        /* XK_F7 */
276 {"F8", 0xffc5},        /* XK_F8 */
277 {"F9", 0xffc6},        /* XK_F9 */
278 {"F10", 0xffc7},       /* XK_F10 */
279 {"F11", 0xffc8},       /* XK_F11 */
280 {"F12", 0xffc9},       /* XK_F12 */
281 {"F13", 0xffca},       /* XK_F13 */
282 {"F14", 0xffcb},       /* XK_F14 */
283 {"F15", 0xffcc},       /* XK_F15 */
284 {"Sys_Req", 0xff15},   /* XK_Sys_Req */
285 {"KP_0", 0xffb0},      /* XK_KP_0 */
286 {"KP_1", 0xffb1},      /* XK_KP_1 */
287 {"KP_2", 0xffb2},      /* XK_KP_2 */
288 {"KP_3", 0xffb3},      /* XK_KP_3 */
289 {"KP_4", 0xffb4},      /* XK_KP_4 */
290 {"KP_5", 0xffb5},      /* XK_KP_5 */
291 {"KP_6", 0xffb6},      /* XK_KP_6 */
292 {"KP_7", 0xffb7},      /* XK_KP_7 */
293 {"KP_8", 0xffb8},      /* XK_KP_8 */
294 {"KP_9", 0xffb9},      /* XK_KP_9 */
295 {"KP_Add", 0xffab},    /* XK_KP_Add */
296 {"KP_Separator", 0xffac},/* XK_KP_Separator */
297 {"KP_Decimal", 0xffae},  /* XK_KP_Decimal */
298 {"KP_Divide", 0xffaf},   /* XK_KP_Divide */
299 {"KP_Enter", 0xff8d},    /* XK_KP_Enter */
300 {"KP_Equal", 0xffbd},    /* XK_KP_Equal */
301 {"KP_Multiply", 0xffaa}, /* XK_KP_Multiply */
302 {"KP_Subtract", 0xffad}, /* XK_KP_Subtract */
303 {"help", 0xff6a},        /* XK_Help */
304 {"Menu", 0xff67},        /* XK_Menu */
305 {"Print", 0xff61},       /* XK_Print */
306 {"Mode_switch", 0xff7e}, /* XK_Mode_switch */
307 {"Num_Lock", 0xff7f},    /* XK_Num_Lock */
308 {"Pause", 0xff13},       /* XK_Pause */
309 {"Escape", 0xff1b},      /* XK_Escape */
310 
311 /* dead keys */
312 {"dead_grave", 0xfe50}, /* XK_dead_grave */
313 {"dead_acute", 0xfe51}, /* XK_dead_acute */
314 {"dead_circumflex", 0xfe52}, /* XK_dead_circumflex */
315 {"dead_tilde", 0xfe53}, /* XK_dead_tilde */
316 {"dead_macron", 0xfe54}, /* XK_dead_macron */
317 {"dead_breve", 0xfe55}, /* XK_dead_breve */
318 {"dead_abovedot", 0xfe56}, /* XK_dead_abovedot */
319 {"dead_diaeresis", 0xfe57}, /* XK_dead_diaeresis */
320 {"dead_abovering", 0xfe58}, /* XK_dead_abovering */
321 {"dead_doubleacute", 0xfe59}, /* XK_dead_doubleacute */
322 {"dead_caron", 0xfe5a}, /* XK_dead_caron */
323 {"dead_cedilla", 0xfe5b}, /* XK_dead_cedilla */
324 {"dead_ogonek", 0xfe5c}, /* XK_dead_ogonek */
325 {"dead_iota", 0xfe5d}, /* XK_dead_iota */
326 {"dead_voiced_sound", 0xfe5e}, /* XK_dead_voiced_sound */
327 {"dead_semivoiced_sound", 0xfe5f}, /* XK_dead_semivoiced_sound */
328 {"dead_belowdot", 0xfe60}, /* XK_dead_belowdot */
329 {"dead_hook", 0xfe61}, /* XK_dead_hook */
330 {"dead_horn", 0xfe62}, /* XK_dead_horn */
331 
332 
333     /* localized keys */
334 {"BackApostrophe", 0xff21},
335 {"Muhenkan", 0xff22},
336 {"Katakana", 0xff27},
337 {"Hankaku", 0xff29},
338 {"Zenkaku_Hankaku", 0xff2a},
339 {"Henkan_Mode_Real", 0xff23},
340 {"Henkan_Mode_Ultra", 0xff3e},
341 {"backslash_ja", 0xffa5},
342 {"Katakana_Real", 0xff25},
343 {"Eisu_toggle", 0xff30},
344 
345 {NULL,0},
346 };
347