3 * Copyright 2002 the LyX Team
4 * Read the file COPYING
6 * \author John Levon <moz@compsoc.man.ac.uk>
13 #include <qnamespace.h>
18 * q_to_lkey - convert Qt keypress into LyX
20 * Convert the Qt keypress into a string understandable
21 * by the LyX core (same as XKeysymToString)
23 string const q_to_lkey(int lkey)
26 case Qt::Key_Escape: return "Escape";
27 case Qt::Key_Tab: return "Tab";
28 case Qt::Key_BackSpace: return "BackSpace";
29 case Qt::Key_Return: return "Return";
30 case Qt::Key_Enter: return "KP_Enter"; // correct ??
31 case Qt::Key_Insert: return "Insert";
32 case Qt::Key_Delete: return "Delete";
33 case Qt::Key_Pause: return "Pause";
34 case Qt::Key_Print: return "Print";
35 case Qt::Key_SysReq: return "Sys_Req";
36 case Qt::Key_Home: return "Home";
37 case Qt::Key_End: return "End";
38 case Qt::Key_Left: return "Left";
39 case Qt::Key_Up: return "Up";
40 case Qt::Key_Right: return "Right";
41 case Qt::Key_Down: return "Down";
42 case Qt::Key_Prior: return "Prior";
43 case Qt::Key_Next: return "Next";
44 case Qt::Key_Shift: return "Shift_L";
45 case Qt::Key_Control: return "Control_L";
46 case Qt::Key_Meta: return "Alt_L"; // correct ?
47 case Qt::Key_Alt: return "Alt_L";
48 case Qt::Key_CapsLock: return "Caps_Lock";
49 case Qt::Key_NumLock: return "Num_Lock";
50 case Qt::Key_ScrollLock: return "Scroll_Lock";
51 case Qt::Key_F1: return "F1";
52 case Qt::Key_F2: return "F2";
53 case Qt::Key_F3: return "F3";
54 case Qt::Key_F4: return "F4";
55 case Qt::Key_F5: return "F5";
56 case Qt::Key_F6: return "F6";
57 case Qt::Key_F7: return "F7";
58 case Qt::Key_F8: return "F8";
59 case Qt::Key_F9: return "F9";
60 case Qt::Key_F10: return "F10";
61 case Qt::Key_F11: return "F11";
62 case Qt::Key_F12: return "F12";
63 case Qt::Key_F13: return "F13";
64 case Qt::Key_F14: return "F14";
65 case Qt::Key_F15: return "F15";
66 case Qt::Key_F16: return "F16";
67 case Qt::Key_F17: return "F17";
68 case Qt::Key_F18: return "F18";
69 case Qt::Key_F19: return "F19";
70 case Qt::Key_F20: return "F20";
71 case Qt::Key_F21: return "F21";
72 case Qt::Key_F22: return "F22";
73 case Qt::Key_F23: return "F23";
74 case Qt::Key_F24: return "F24";
75 case Qt::Key_F25: return "F25";
76 case Qt::Key_F26: return "F26";
77 case Qt::Key_F27: return "F27";
78 case Qt::Key_F28: return "F28";
79 case Qt::Key_F29: return "F29";
80 case Qt::Key_F30: return "F30";
81 case Qt::Key_F31: return "F31";
82 case Qt::Key_F32: return "F32";
83 case Qt::Key_F33: return "F33";
84 case Qt::Key_F34: return "F34";
85 case Qt::Key_F35: return "F35";
86 case Qt::Key_0: return "0";
87 case Qt::Key_1: return "1";
88 case Qt::Key_2: return "2";
89 case Qt::Key_3: return "3";
90 case Qt::Key_4: return "4";
91 case Qt::Key_5: return "5";
92 case Qt::Key_6: return "6";
93 case Qt::Key_7: return "7";
94 case Qt::Key_8: return "8";
95 case Qt::Key_9: return "9";
96 case Qt::Key_Colon: return "colon";
97 case Qt::Key_Semicolon: return "semicolon";
98 case Qt::Key_Less: return "less";
99 case Qt::Key_Equal: return "equal";
100 case Qt::Key_Greater: return "greater";
101 case Qt::Key_Question: return "question";
102 case Qt::Key_At: return "at";
103 case Qt::Key_A: return "a";
104 case Qt::Key_B: return "b";
105 case Qt::Key_C: return "c";
106 case Qt::Key_D: return "d";
107 case Qt::Key_E: return "e";
108 case Qt::Key_F: return "f";
109 case Qt::Key_G: return "g";
110 case Qt::Key_H: return "h";
111 case Qt::Key_I: return "i";
112 case Qt::Key_J: return "j";
113 case Qt::Key_K: return "k";
114 case Qt::Key_L: return "l";
115 case Qt::Key_M: return "m";
116 case Qt::Key_N: return "n";
117 case Qt::Key_O: return "o";
118 case Qt::Key_P: return "p";
119 case Qt::Key_Q: return "q";
120 case Qt::Key_R: return "r";
121 case Qt::Key_S: return "s";
122 case Qt::Key_T: return "t";
123 case Qt::Key_U: return "u";
124 case Qt::Key_V: return "v";
125 case Qt::Key_W: return "w";
126 case Qt::Key_X: return "x";
127 case Qt::Key_Y: return "y";
128 case Qt::Key_Z: return "z";
129 case Qt::Key_BracketLeft: return "bracketleft";
130 case Qt::Key_Backslash: return "backslash";
131 case Qt::Key_BracketRight: return "bracketright";
132 case Qt::Key_Underscore: return "underscore";
133 case Qt::Key_Space: return "space";
134 case Qt::Key_ParenLeft: return "parenleft";
135 case Qt::Key_ParenRight: return "parenright";
136 case Qt::Key_QuoteDbl: return "quotedbl";
137 case Qt::Key_Exclam: return "exclam";
138 case Qt::Key_NumberSign: return "numbersign";
139 case Qt::Key_AsciiCircum: return "asciicircum";
140 case Qt::Key_Dollar: return "dollar";
141 case Qt::Key_Percent: return "percent";
142 case Qt::Key_Ampersand: return "ampersand";
143 case Qt::Key_Asterisk: return "asterisk";
144 case Qt::Key_Apostrophe: return "apostrophe";
145 case Qt::Key_Plus: return "plus";
146 case Qt::Key_Minus: return "minus";
147 case Qt::Key_Comma: return "comma";
148 case Qt::Key_Period: return "period";
149 case Qt::Key_Slash: return "slash";
150 case Qt::Key_AsciiTilde: return "asciitilde";
151 case Qt::Key_BraceLeft: return "braceleft";
152 case Qt::Key_BraceRight: return "braceright";
153 case Qt::Key_QuoteLeft: return "grave"; // ???
154 case Qt::Key_notsign: return "notsign";
155 case Qt::Key_nobreakspace: return "nobreakspace";
156 case Qt::Key_exclamdown: return "exclamdown";
157 case Qt::Key_cent: return "cent";
158 case Qt::Key_sterling: return "sterling";
159 case Qt::Key_currency: return "currency";
160 case Qt::Key_yen: return "yen";
161 case Qt::Key_brokenbar: return "brokenbar";
162 case Qt::Key_section: return "section";
163 case Qt::Key_diaeresis: return "diaeresis";
164 case Qt::Key_copyright: return "copyright";
165 case Qt::Key_ordfeminine: return "ordfeminine";
166 case Qt::Key_guillemotleft: return "guillemotleft";
167 case Qt::Key_hyphen: return "hyphen";
168 case Qt::Key_registered: return "registered";
169 case Qt::Key_macron: return "macron";
170 case Qt::Key_degree: return "degree";
171 case Qt::Key_plusminus: return "plusminus";
172 case Qt::Key_twosuperior: return "twosuperior";
173 case Qt::Key_threesuperior: return "threesuperior";
174 case Qt::Key_acute: return "acute";
175 case Qt::Key_mu: return "mu";
176 case Qt::Key_paragraph: return "paragraph";
177 case Qt::Key_periodcentered: return "periodcentered";
178 case Qt::Key_cedilla: return "cedilla";
179 case Qt::Key_onesuperior: return "onesuperior";
180 case Qt::Key_masculine: return "masculine";
181 case Qt::Key_guillemotright: return "guillemotright";
182 case Qt::Key_onequarter: return "onequarter";
183 case Qt::Key_onehalf: return "onehalf";
184 case Qt::Key_threequarters: return "threequarters";
185 case Qt::Key_questiondown: return "questiondown";
186 case Qt::Key_Agrave: return "Agrave";
187 case Qt::Key_Aacute: return "Aacute";
188 case Qt::Key_Acircumflex: return "Acircumflex";
189 case Qt::Key_Atilde: return "Atilde";
190 case Qt::Key_Adiaeresis: return "Adiaeresis";
191 case Qt::Key_Aring: return "Aring";
192 case Qt::Key_AE: return "AE";
193 case Qt::Key_Ccedilla: return "Ccedilla";
194 case Qt::Key_Egrave: return "Egrave";
195 case Qt::Key_Eacute: return "Eacute";
196 case Qt::Key_Ecircumflex: return "Ecircumflex";
197 case Qt::Key_Ediaeresis: return "Ediaeresis";
198 case Qt::Key_Igrave: return "Igrave";
199 case Qt::Key_Iacute: return "Iacute";
200 case Qt::Key_Icircumflex: return "Icircumflex";
201 case Qt::Key_Idiaeresis: return "Idiaeresis";
202 case Qt::Key_ETH: return "ETH";
203 case Qt::Key_Ntilde: return "Ntilde";
204 case Qt::Key_Ograve: return "Ograve";
205 case Qt::Key_Oacute: return "Oacute";
206 case Qt::Key_Ocircumflex: return "Ocircumflex";
207 case Qt::Key_Otilde: return "Otilde";
208 case Qt::Key_Odiaeresis: return "Odiaeresis";
209 case Qt::Key_multiply: return "multiply";
210 case Qt::Key_Ooblique: return "Ooblique";
211 case Qt::Key_Ugrave: return "Ugrave";
212 case Qt::Key_Uacute: return "Uacute";
213 case Qt::Key_Ucircumflex: return "Ucircumflex";
214 case Qt::Key_Udiaeresis: return "Udiaeresis";
215 case Qt::Key_Yacute: return "Yacute";
216 case Qt::Key_THORN: return "THORN";
217 case Qt::Key_ssharp: return "ssharp";
218 case Qt::Key_agrave: return "agrave";
219 case Qt::Key_aacute: return "aacute";
220 case Qt::Key_acircumflex: return "acircumflex";
221 case Qt::Key_atilde: return "atilde";
222 case Qt::Key_adiaeresis: return "adiaeresis";
223 case Qt::Key_aring: return "aring";
224 case Qt::Key_ae: return "ae";
225 case Qt::Key_ccedilla: return "ccedilla";
226 case Qt::Key_egrave: return "egrave";
227 case Qt::Key_eacute: return "eacute";
228 case Qt::Key_ecircumflex: return "ecircumflex";
229 case Qt::Key_ediaeresis: return "ediaeresis";
230 case Qt::Key_igrave: return "igrave";
231 case Qt::Key_iacute: return "iacute";
232 case Qt::Key_icircumflex: return "icircumflex";
233 case Qt::Key_idiaeresis: return "idiaeresis";
234 case Qt::Key_eth: return "eth";
235 case Qt::Key_ntilde: return "ntilde";
236 case Qt::Key_ograve: return "ograve";
237 case Qt::Key_oacute: return "oacute";
238 case Qt::Key_ocircumflex: return "ocircumflex";
239 case Qt::Key_otilde: return "otilde";
240 case Qt::Key_odiaeresis: return "odiaeresis";
241 case Qt::Key_division: return "division";
242 case Qt::Key_oslash: return "oslash";
243 case Qt::Key_ugrave: return "ugrave";
244 case Qt::Key_uacute: return "uacute";
245 case Qt::Key_ucircumflex: return "ucircumflex";
246 case Qt::Key_udiaeresis: return "udiaeresis";
247 case Qt::Key_yacute: return "yacute";
248 case Qt::Key_thorn: return "thorn";
249 case Qt::Key_ydiaeresis: return "ydiaeresis";
251 // FIXME: these ones I don't know the names of ... help !
252 // what's here is basically guesses ...
253 case Qt::Key_Super_L: return "Super_L";
254 case Qt::Key_Super_R: return "Super_R";
255 case Qt::Key_Menu: return "Menu";
256 case Qt::Key_Hyper_L: return "Hyper_L";
257 case Qt::Key_Hyper_R: return "Hyper_R";
258 case Qt::Key_Help: return "Help";
259 case Qt::Key_Bar: return "Bar";
260 case Qt::Key_Backtab: return "BackTab";
263 case Qt::Key_unknown: return "unknown";