summaryrefslogtreecommitdiff
path: root/noncore/applets/keyhelper/keyhelperapplet/misc/KeyNames.cpp
Unidiff
Diffstat (limited to 'noncore/applets/keyhelper/keyhelperapplet/misc/KeyNames.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/applets/keyhelper/keyhelperapplet/misc/KeyNames.cpp303
1 files changed, 303 insertions, 0 deletions
diff --git a/noncore/applets/keyhelper/keyhelperapplet/misc/KeyNames.cpp b/noncore/applets/keyhelper/keyhelperapplet/misc/KeyNames.cpp
new file mode 100644
index 0000000..2def857
--- a/dev/null
+++ b/noncore/applets/keyhelper/keyhelperapplet/misc/KeyNames.cpp
@@ -0,0 +1,303 @@
1#include "KeyNames.h"
2
3QMap<QString, int> KeyNames::codemap;
4QMap<int, QString> KeyNames::namemap;
5QString KeyNames::tmpname;
6
7static struct {
8 int code;
9 char* name;
10} stKeyNames[] = {
11{Qt::Key_Escape, "Escape"},
12{Qt::Key_Tab, "Tab"},
13{Qt::Key_Backtab, "Backtab"},
14{Qt::Key_BackTab, "BackTab"},
15{Qt::Key_Backtab, "Backtab"},
16{Qt::Key_Backspace, "Backspace"},
17{Qt::Key_BackSpace, "BackSpace"},
18{Qt::Key_Backspace, "Backspace"},
19{Qt::Key_Return, "Return"},
20{Qt::Key_Enter, "Enter"},
21{Qt::Key_Insert, "Insert"},
22{Qt::Key_Delete, "Delete"},
23{Qt::Key_Pause, "Pause"},
24{Qt::Key_Print, "Print"},
25{Qt::Key_SysReq, "SysReq"},
26{Qt::Key_Home, "Home"},
27{Qt::Key_End, "End"},
28{Qt::Key_Left, "Left"},
29{Qt::Key_Up, "Up"},
30{Qt::Key_Right, "Right"},
31{Qt::Key_Down, "Down"},
32{Qt::Key_Prior, "Prior"},
33{Qt::Key_PageUp, "PageUp"},
34{Qt::Key_Prior, "Prior"},
35{Qt::Key_Next, "Next"},
36{Qt::Key_PageDown, "PageDown"},
37{Qt::Key_Next, "Next"},
38{Qt::Key_Shift, "Shift"},
39{Qt::Key_Control, "Control"},
40{Qt::Key_Meta, "Meta"},
41{Qt::Key_Alt, "Alt"},
42{Qt::Key_CapsLock, "CapsLock"},
43{Qt::Key_NumLock, "NumLock"},
44{Qt::Key_ScrollLock, "ScrollLock"},
45{Qt::Key_F1, "F1"},
46{Qt::Key_F2, "F2"},
47{Qt::Key_F3, "F3"},
48{Qt::Key_F4, "F4"},
49{Qt::Key_F5, "F5"},
50{Qt::Key_F6, "F6"},
51{Qt::Key_F7, "F7"},
52{Qt::Key_F8, "F8"},
53{Qt::Key_F9, "F9"},
54{Qt::Key_F10, "F10"},
55{Qt::Key_F11, "F11"},
56{Qt::Key_F12, "F12"},
57{Qt::Key_F13, "F13"},
58{Qt::Key_F14, "F14"},
59{Qt::Key_F15, "F15"},
60{Qt::Key_F16, "F16"},
61{Qt::Key_F17, "F17"},
62{Qt::Key_F18, "F18"},
63{Qt::Key_F19, "F19"},
64{Qt::Key_F20, "F20"},
65{Qt::Key_F21, "F21"},
66{Qt::Key_F22, "F22"},
67{Qt::Key_F23, "F23"},
68{Qt::Key_F24, "F24"},
69{Qt::Key_F25, "F25"},
70{Qt::Key_F26, "F26"},
71{Qt::Key_F27, "F27"},
72{Qt::Key_F28, "F28"},
73{Qt::Key_F29, "F29"},
74{Qt::Key_F30, "F30"},
75{Qt::Key_F31, "F31"},
76{Qt::Key_F32, "F32"},
77{Qt::Key_F33, "F33"},
78{Qt::Key_F34, "F34"},
79{Qt::Key_F35, "F35"},
80{Qt::Key_Super_L, "Super_L"},
81{Qt::Key_Super_R, "Super_R"},
82{Qt::Key_Menu, "Menu"},
83{Qt::Key_Hyper_L, "Hyper_L"},
84{Qt::Key_Hyper_R, "Hyper_R"},
85{Qt::Key_Help, "Help"},
86{Qt::Key_Space, "Space"},
87{Qt::Key_Any, "Any"},
88{Qt::Key_Space, "Space"},
89{Qt::Key_Exclam, "Exclam"},
90{Qt::Key_QuoteDbl, "QuoteDbl"},
91{Qt::Key_NumberSign, "NumberSign"},
92{Qt::Key_Dollar, "Dollar"},
93{Qt::Key_Percent, "Percent"},
94{Qt::Key_Ampersand, "Ampersand"},
95{Qt::Key_Apostrophe, "Apostrophe"},
96{Qt::Key_ParenLeft, "ParenLeft"},
97{Qt::Key_ParenRight, "ParenRight"},
98{Qt::Key_Asterisk, "Asterisk"},
99{Qt::Key_Plus, "Plus"},
100{Qt::Key_Comma, "Comma"},
101{Qt::Key_Minus, "Minus"},
102{Qt::Key_Period, "Period"},
103{Qt::Key_Slash, "Slash"},
104{Qt::Key_0, "0"},
105{Qt::Key_1, "1"},
106{Qt::Key_2, "2"},
107{Qt::Key_3, "3"},
108{Qt::Key_4, "4"},
109{Qt::Key_5, "5"},
110{Qt::Key_6, "6"},
111{Qt::Key_7, "7"},
112{Qt::Key_8, "8"},
113{Qt::Key_9, "9"},
114{Qt::Key_Colon, "Colon"},
115{Qt::Key_Semicolon, "Semicolon"},
116{Qt::Key_Less, "Less"},
117{Qt::Key_Equal, "Equal"},
118{Qt::Key_Greater, "Greater"},
119{Qt::Key_Question, "Question"},
120{Qt::Key_At, "At"},
121{Qt::Key_A, "A"},
122{Qt::Key_B, "B"},
123{Qt::Key_C, "C"},
124{Qt::Key_D, "D"},
125{Qt::Key_E, "E"},
126{Qt::Key_F, "F"},
127{Qt::Key_G, "G"},
128{Qt::Key_H, "H"},
129{Qt::Key_I, "I"},
130{Qt::Key_J, "J"},
131{Qt::Key_K, "K"},
132{Qt::Key_L, "L"},
133{Qt::Key_M, "M"},
134{Qt::Key_N, "N"},
135{Qt::Key_O, "O"},
136{Qt::Key_P, "P"},
137{Qt::Key_Q, "Q"},
138{Qt::Key_R, "R"},
139{Qt::Key_S, "S"},
140{Qt::Key_T, "T"},
141{Qt::Key_U, "U"},
142{Qt::Key_V, "V"},
143{Qt::Key_W, "W"},
144{Qt::Key_X, "X"},
145{Qt::Key_Y, "Y"},
146{Qt::Key_Z, "Z"},
147{Qt::Key_BracketLeft, "BracketLeft"},
148{Qt::Key_Backslash, "Backslash"},
149{Qt::Key_BracketRight, "BracketRight"},
150{Qt::Key_AsciiCircum, "AsciiCircum"},
151{Qt::Key_Underscore, "Underscore"},
152{Qt::Key_QuoteLeft, "QuoteLeft"},
153{Qt::Key_BraceLeft, "BraceLeft"},
154{Qt::Key_Bar, "Bar"},
155{Qt::Key_BraceRight, "BraceRight"},
156{Qt::Key_AsciiTilde, "AsciiTilde"},
157{Qt::Key_nobreakspace, "nobreakspace"},
158{Qt::Key_exclamdown, "exclamdown"},
159{Qt::Key_cent, "cent"},
160{Qt::Key_sterling, "sterling"},
161{Qt::Key_currency, "currency"},
162{Qt::Key_yen, "yen"},
163{Qt::Key_brokenbar, "brokenbar"},
164{Qt::Key_section, "section"},
165{Qt::Key_diaeresis, "diaeresis"},
166{Qt::Key_copyright, "copyright"},
167{Qt::Key_ordfeminine, "ordfeminine"},
168{Qt::Key_guillemotleft, "guillemotleft"},
169{Qt::Key_notsign, "notsign"},
170{Qt::Key_hyphen, "hyphen"},
171{Qt::Key_registered, "registered"},
172{Qt::Key_macron, "macron"},
173{Qt::Key_degree, "degree"},
174{Qt::Key_plusminus, "plusminus"},
175{Qt::Key_twosuperior, "twosuperior"},
176{Qt::Key_threesuperior, "threesuperior"},
177{Qt::Key_acute, "acute"},
178{Qt::Key_mu, "mu"},
179{Qt::Key_paragraph, "paragraph"},
180{Qt::Key_periodcentered, "periodcentered"},
181{Qt::Key_cedilla, "cedilla"},
182{Qt::Key_onesuperior, "onesuperior"},
183{Qt::Key_masculine, "masculine"},
184{Qt::Key_guillemotright, "guillemotright"},
185{Qt::Key_onequarter, "onequarter"},
186{Qt::Key_onehalf, "onehalf"},
187{Qt::Key_threequarters, "threequarters"},
188{Qt::Key_questiondown, "questiondown"},
189{Qt::Key_Agrave, "Agrave"},
190{Qt::Key_Aacute, "Aacute"},
191{Qt::Key_Acircumflex, "Acircumflex"},
192{Qt::Key_Atilde, "Atilde"},
193{Qt::Key_Adiaeresis, "Adiaeresis"},
194{Qt::Key_Aring, "Aring"},
195{Qt::Key_AE, "AE"},
196{Qt::Key_Ccedilla, "Ccedilla"},
197{Qt::Key_Egrave, "Egrave"},
198{Qt::Key_Eacute, "Eacute"},
199{Qt::Key_Ecircumflex, "Ecircumflex"},
200{Qt::Key_Ediaeresis, "Ediaeresis"},
201{Qt::Key_Igrave, "Igrave"},
202{Qt::Key_Iacute, "Iacute"},
203{Qt::Key_Icircumflex, "Icircumflex"},
204{Qt::Key_Idiaeresis, "Idiaeresis"},
205{Qt::Key_ETH, "ETH"},
206{Qt::Key_Ntilde, "Ntilde"},
207{Qt::Key_Ograve, "Ograve"},
208{Qt::Key_Oacute, "Oacute"},
209{Qt::Key_Ocircumflex, "Ocircumflex"},
210{Qt::Key_Otilde, "Otilde"},
211{Qt::Key_Odiaeresis, "Odiaeresis"},
212{Qt::Key_multiply, "multiply"},
213{Qt::Key_Ooblique, "Ooblique"},
214{Qt::Key_Ugrave, "Ugrave"},
215{Qt::Key_Uacute, "Uacute"},
216{Qt::Key_Ucircumflex, "Ucircumflex"},
217{Qt::Key_Udiaeresis, "Udiaeresis"},
218{Qt::Key_Yacute, "Yacute"},
219{Qt::Key_THORN, "THORN"},
220{Qt::Key_ssharp, "ssharp"},
221{Qt::Key_agrave, "agrave"},
222{Qt::Key_aacute, "aacute"},
223{Qt::Key_acircumflex, "acircumflex"},
224{Qt::Key_atilde, "atilde"},
225{Qt::Key_adiaeresis, "adiaeresis"},
226{Qt::Key_aring, "aring"},
227{Qt::Key_ae, "ae"},
228{Qt::Key_ccedilla, "ccedilla"},
229{Qt::Key_egrave, "egrave"},
230{Qt::Key_eacute, "eacute"},
231{Qt::Key_ecircumflex, "ecircumflex"},
232{Qt::Key_ediaeresis, "ediaeresis"},
233{Qt::Key_igrave, "igrave"},
234{Qt::Key_iacute, "iacute"},
235{Qt::Key_icircumflex, "icircumflex"},
236{Qt::Key_idiaeresis, "idiaeresis"},
237{Qt::Key_eth, "eth"},
238{Qt::Key_ntilde, "ntilde"},
239{Qt::Key_ograve, "ograve"},
240{Qt::Key_oacute, "oacute"},
241{Qt::Key_ocircumflex, "ocircumflex"},
242{Qt::Key_otilde, "otilde"},
243{Qt::Key_odiaeresis, "odiaeresis"},
244{Qt::Key_division, "division"},
245{Qt::Key_oslash, "oslash"},
246{Qt::Key_ugrave, "ugrave"},
247{Qt::Key_uacute, "uacute"},
248{Qt::Key_ucircumflex, "ucircumflex"},
249{Qt::Key_udiaeresis, "udiaeresis"},
250{Qt::Key_yacute, "yacute"},
251{Qt::Key_thorn, "thorn"},
252{Qt::Key_ydiaeresis, "ydiaeresis"},
253{Qt::Key_unknown, "unknown"},
254{0,0},
255};
256
257void KeyNames::setCodeMap()
258{
259 int i;
260
261 codemap.clear();
262 for(i=0; stKeyNames[i].code != 0; i++){
263 codemap.insert(stKeyNames[i].name, stKeyNames[i].code);
264 }
265}
266
267void KeyNames::setNameMap()
268{
269 int i;
270
271 namemap.clear();
272 for(i=0; stKeyNames[i].code != 0; i++){
273 namemap.insert(stKeyNames[i].code, stKeyNames[i].name);
274 }
275}
276
277
278int KeyNames::getCode(const QString& s){
279 if(codemap.isEmpty()) setCodeMap();
280 if(codemap.contains(s)){
281 return(codemap[s]);
282 } else {
283 if(s.find("0x") == 0){
284 bool success;
285 int val = s.mid(2).toInt(&success, 16);
286 if(success){
287 return(val);
288 }
289 }
290 return(0);
291 }
292}
293
294const QString& KeyNames::getName(int code){
295 if(namemap.isEmpty()) setNameMap();
296 if(namemap.contains(code)){
297 return(namemap[code]);
298 } else {
299 tmpname.sprintf("0x%x", code);
300 return(tmpname);
301 //return(QString::null);
302 }
303}