477 lines
17 KiB
Python
477 lines
17 KiB
Python
class Key:
|
|
def __init__(self, name, code, alt_name, shifted_name):
|
|
self.name = name
|
|
self.code = code
|
|
self.alt_name = alt_name
|
|
self.shifted_name = shifted_name
|
|
|
|
def __str__(self):
|
|
return self.name
|
|
|
|
|
|
def is_mouse_button(key):
|
|
return ((key.code) >= names["btn left"].code and (key.code) <= names["btn task"].code) or\
|
|
((key.code) >= names["btn 0"].code and (
|
|
key.code) <= names["btn 9"].code)
|
|
|
|
|
|
codes = {
|
|
1: Key("esc", 1, "escape", ""),
|
|
2: Key("1", 2, "", "!"),
|
|
3: Key("2", 3, "", "@"),
|
|
4: Key("3", 4, "", "#"),
|
|
5: Key("4", 5, "", "$"),
|
|
6: Key("5", 6, "", "%"),
|
|
7: Key("6", 7, "", "^"),
|
|
8: Key("7", 8, "", "&"),
|
|
9: Key("8", 9, "", "*"),
|
|
10: Key("9", 10, "", "("),
|
|
11: Key("0", 11, "", ")"),
|
|
12: Key("-", 12, "minus", "_"),
|
|
13: Key("=", 13, "equal", "+"),
|
|
14: Key("backspace", 14, "", ""),
|
|
15: Key("tab", 15, "", ""),
|
|
16: Key("q", 16, "", "Q"),
|
|
17: Key("w", 17, "", "W"),
|
|
18: Key("e", 18, "", "E"),
|
|
19: Key("r", 19, "", "R"),
|
|
20: Key("t", 20, "", "T"),
|
|
21: Key("y", 21, "", "Y"),
|
|
22: Key("u", 22, "", "U"),
|
|
23: Key("i", 23, "", "I"),
|
|
24: Key("o", 24, "", "O"),
|
|
25: Key("p", 25, "", "P"),
|
|
26: Key("[", 26, "leftbrace", "{"),
|
|
27: Key("]", 27, "rightbrace", "}"),
|
|
28: Key("enter", 28, "\n", ""),
|
|
29: Key("control", 29, "leftcontrol", ""),
|
|
30: Key("a", 30, "", "A"),
|
|
31: Key("s", 31, "", "S"),
|
|
32: Key("d", 32, "", "D"),
|
|
33: Key("f", 33, "", "F"),
|
|
34: Key("g", 34, "", "G"),
|
|
35: Key("h", 35, "", "H"),
|
|
36: Key("j", 36, "", "J"),
|
|
37: Key("k", 37, "", "K"),
|
|
38: Key("l", 38, "", "L"),
|
|
39: Key(";", 39, "semicolon", ":"),
|
|
40: Key("'", 40, "apostrophe", "\""),
|
|
41: Key("`", 41, "grave", "~"),
|
|
42: Key("shift", 42, "leftshift", ""),
|
|
43: Key("\\", 43, "backslash", " |"),
|
|
44: Key("z", 44, "", "Z"),
|
|
45: Key("x", 45, "", "X"),
|
|
46: Key("c", 46, "", "C"),
|
|
47: Key("v", 47, "", "V"),
|
|
48: Key("b", 48, "", "B"),
|
|
49: Key("n", 49, "", "N"),
|
|
50: Key("m", 50, "", "M"),
|
|
51: Key(",", 51, "comma", "<"),
|
|
52: Key(".", 52, "dot", ">"),
|
|
53: Key("/", 53, "slash", "?"),
|
|
54: Key("rightshift", 54, "", ""),
|
|
55: Key("kpasterisk", 55, "", ""),
|
|
56: Key("alt", 56, "leftalt", ""),
|
|
57: Key("space", 57, " ", ""),
|
|
58: Key("capslock", 58, "", ""),
|
|
59: Key("f1", 59, "", ""),
|
|
60: Key("f2", 60, "", ""),
|
|
61: Key("f3", 61, "", ""),
|
|
62: Key("f4", 62, "", ""),
|
|
63: Key("f5", 63, "", ""),
|
|
64: Key("f6", 64, "", ""),
|
|
65: Key("f7", 65, "", ""),
|
|
66: Key("f8", 66, "", ""),
|
|
67: Key("f9", 67, "", ""),
|
|
68: Key("f10", 68, "", ""),
|
|
69: Key("numlock", 69, "", ""),
|
|
70: Key("scrolllock", 70, "", ""),
|
|
71: Key("kp7", 71, "", ""),
|
|
72: Key("kp8", 72, "", ""),
|
|
73: Key("kp9", 73, "", ""),
|
|
74: Key("kpminus", 74, "", ""),
|
|
75: Key("kp4", 75, "", ""),
|
|
76: Key("kp5", 76, "", ""),
|
|
77: Key("kp6", 77, "", ""),
|
|
78: Key("kpplus", 78, "", ""),
|
|
79: Key("kp1", 79, "", ""),
|
|
80: Key("kp2", 80, "", ""),
|
|
81: Key("kp3", 81, "", ""),
|
|
82: Key("kp0", 82, "", ""),
|
|
83: Key("kpdot", 83, "", ""),
|
|
85: Key("zenkakuhankaku", 85, "", ""),
|
|
86: Key("102nd", 86, "", ""),
|
|
87: Key("f11", 87, "", ""),
|
|
88: Key("f12", 88, "", ""),
|
|
89: Key("ro", 89, "", ""),
|
|
90: Key("katakana", 90, "", ""),
|
|
91: Key("hiragana", 91, "", ""),
|
|
92: Key("henkan", 92, "", ""),
|
|
93: Key("katakanahiragana", 93, "", ""),
|
|
94: Key("muhenkan", 94, "", ""),
|
|
95: Key("kpjpcomma", 95, "", ""),
|
|
96: Key("kpenter", 96, "", ""),
|
|
97: Key("rightcontrol", 97, "", ""),
|
|
98: Key("kpslash", 98, "", ""),
|
|
99: Key("sysrq", 99, "", ""),
|
|
100: Key("rightalt", 100, "", ""),
|
|
101: Key("linefeed", 101, "", ""),
|
|
102: Key("home", 102, "", ""),
|
|
103: Key("up", 103, "", ""),
|
|
104: Key("pageup", 104, "", ""),
|
|
105: Key("left", 105, "", ""),
|
|
106: Key("right", 106, "", ""),
|
|
107: Key("end", 107, "", ""),
|
|
108: Key("down", 108, "", ""),
|
|
109: Key("pagedown", 109, "", ""),
|
|
110: Key("insert", 110, "", ""),
|
|
111: Key("delete", 111, "", ""),
|
|
112: Key("macro", 112, "", ""),
|
|
113: Key("mute", 113, "", ""),
|
|
114: Key("volumedown", 114, "", ""),
|
|
115: Key("volumeup", 115, "", ""),
|
|
116: Key("power", 116, "", ""),
|
|
117: Key("kpequal", 117, "", ""),
|
|
118: Key("kpplusminus", 118, "", ""),
|
|
119: Key("pause", 119, "", ""),
|
|
120: Key("scale", 120, "", ""),
|
|
121: Key("kpcomma", 121, "", ""),
|
|
122: Key("hangeul", 122, "", ""),
|
|
123: Key("hanja", 123, "", ""),
|
|
124: Key("yen", 124, "", ""),
|
|
125: Key("meta", 125, "leftmeta", ""),
|
|
126: Key("rightmeta", 126, "", ""),
|
|
127: Key("compose", 127, "", ""),
|
|
128: Key("stop", 128, "", ""),
|
|
129: Key("again", 129, "", ""),
|
|
130: Key("props", 130, "", ""),
|
|
131: Key("undo", 131, "", ""),
|
|
132: Key("front", 132, "", ""),
|
|
133: Key("copy", 133, "", ""),
|
|
134: Key("open", 134, "", ""),
|
|
135: Key("paste", 135, "", ""),
|
|
136: Key("find", 136, "", ""),
|
|
137: Key("cut", 137, "", ""),
|
|
138: Key("help", 138, "", ""),
|
|
139: Key("menu", 139, "", ""),
|
|
140: Key("calc", 140, "", ""),
|
|
141: Key("setup", 141, "", ""),
|
|
142: Key("sleep", 142, "", ""),
|
|
143: Key("wakeup", 143, "", ""),
|
|
144: Key("file", 144, "", ""),
|
|
145: Key("sendfile", 145, "", ""),
|
|
146: Key("deletefile", 146, "", ""),
|
|
147: Key("xfer", 147, "", ""),
|
|
148: Key("prog1", 148, "", ""),
|
|
149: Key("prog2", 149, "", ""),
|
|
150: Key("www", 150, "", ""),
|
|
151: Key("msdos", 151, "", ""),
|
|
152: Key("coffee", 152, "", ""),
|
|
153: Key("display", 153, "", ""),
|
|
154: Key("cyclewindows", 154, "", ""),
|
|
155: Key("mail", 155, "", ""),
|
|
156: Key("bookmarks", 156, "", ""),
|
|
157: Key("computer", 157, "", ""),
|
|
158: Key("back", 158, "", ""),
|
|
159: Key("forward", 159, "", ""),
|
|
160: Key("closecd", 160, "", ""),
|
|
161: Key("ejectcd", 161, "", ""),
|
|
162: Key("ejectclosecd", 162, "", ""),
|
|
163: Key("nextsong", 163, "", ""),
|
|
164: Key("playpause", 164, "", ""),
|
|
165: Key("previoussong", 165, "", ""),
|
|
166: Key("stopcd", 166, "", ""),
|
|
167: Key("record", 167, "", ""),
|
|
168: Key("rewind", 168, "", ""),
|
|
169: Key("phone", 169, "", ""),
|
|
170: Key("iso", 170, "", ""),
|
|
171: Key("config", 171, "", ""),
|
|
172: Key("homepage", 172, "", ""),
|
|
173: Key("refresh", 173, "", ""),
|
|
174: Key("exit", 174, "", ""),
|
|
175: Key("move", 175, "", ""),
|
|
176: Key("edit", 176, "", ""),
|
|
177: Key("scrollup", 177, "", ""),
|
|
178: Key("scrolldown", 178, "", ""),
|
|
179: Key("kpleftparen", 179, "", ""),
|
|
180: Key("kprightparen", 180, "", ""),
|
|
181: Key("new", 181, "", ""),
|
|
182: Key("redo", 182, "", ""),
|
|
183: Key("f13", 183, "", ""),
|
|
184: Key("f14", 184, "", ""),
|
|
185: Key("f15", 185, "", ""),
|
|
186: Key("f16", 186, "", ""),
|
|
187: Key("f17", 187, "", ""),
|
|
188: Key("f18", 188, "", ""),
|
|
189: Key("f19", 189, "", ""),
|
|
190: Key("f20", 190, "", ""),
|
|
191: Key("f21", 191, "", ""),
|
|
192: Key("f22", 192, "", ""),
|
|
193: Key("f23", 193, "", ""),
|
|
194: Key("f24", 194, "", ""),
|
|
200: Key("playcd", 200, "", ""),
|
|
201: Key("pausecd", 201, "", ""),
|
|
202: Key("prog3", 202, "", ""),
|
|
203: Key("prog4", 203, "", ""),
|
|
204: Key("dashboard", 204, "", ""),
|
|
205: Key("suspend", 205, "", ""),
|
|
206: Key("close", 206, "", ""),
|
|
207: Key("play", 207, "", ""),
|
|
208: Key("fastforward", 208, "", ""),
|
|
209: Key("bassboost", 209, "", ""),
|
|
210: Key("print", 210, "", ""),
|
|
211: Key("hp", 211, "", ""),
|
|
212: Key("camera", 212, "", ""),
|
|
213: Key("sound", 213, "", ""),
|
|
214: Key("question", 214, "", ""),
|
|
215: Key("email", 215, "", ""),
|
|
216: Key("chat", 216, "", ""),
|
|
217: Key("search", 217, "", ""),
|
|
218: Key("connect", 218, "", ""),
|
|
219: Key("finance", 219, "", ""),
|
|
220: Key("sport", 220, "", ""),
|
|
221: Key("shop", 221, "", ""),
|
|
222: Key("alterase", 222, "", ""),
|
|
223: Key("cancel", 223, "", ""),
|
|
224: Key("brightnessdown", 224, "", ""),
|
|
225: Key("brightnessup", 225, "", ""),
|
|
226: Key("media", 226, "", ""),
|
|
227: Key("switchvideomode", 227, "", ""),
|
|
228: Key("kbdillumtoggle", 228, "", ""),
|
|
229: Key("kbdillumdown", 229, "", ""),
|
|
230: Key("kbdillumup", 230, "", ""),
|
|
231: Key("send", 231, "", ""),
|
|
232: Key("reply", 232, "", ""),
|
|
233: Key("forwardmail", 233, "", ""),
|
|
234: Key("save", 234, "", ""),
|
|
235: Key("documents", 235, "", ""),
|
|
236: Key("battery", 236, "", ""),
|
|
237: Key("bluetooth", 237, "", ""),
|
|
238: Key("wlan", 238, "", ""),
|
|
239: Key("uwb", 239, "", ""),
|
|
240: Key("unknown", 240, "", ""),
|
|
241: Key("next", 241, "", ""),
|
|
242: Key("prev", 242, "", ""),
|
|
243: Key("cycle", 243, "", ""),
|
|
244: Key("auto", 244, "", ""),
|
|
245: Key("off", 245, "", ""),
|
|
246: Key("wwan", 246, "", ""),
|
|
247: Key("rfkill", 247, "", ""),
|
|
248: Key("micmute", 248, "", ""),
|
|
330: Key("btn dead", 330, "", ""),
|
|
325: Key("btn dead", 325, "", ""),
|
|
256: Key("btn 0", 256, "", ""),
|
|
257: Key("btn 1", 257, "", ""),
|
|
258: Key("btn 2", 258, "", ""),
|
|
259: Key("btn 3", 259, "", ""),
|
|
260: Key("btn 4", 260, "", ""),
|
|
261: Key("btn 5", 261, "", ""),
|
|
262: Key("btn 6", 262, "", ""),
|
|
263: Key("btn 7", 263, "", ""),
|
|
264: Key("btn 8", 264, "", ""),
|
|
265: Key("btn 9", 265, "", ""),
|
|
272: Key("btn left", 272, "", ""),
|
|
273: Key("btn right", 273, "", ""),
|
|
274: Key("btn middle", 274, "", ""),
|
|
275: Key("btn side", 275, "", ""),
|
|
276: Key("btn extra", 276, "", ""),
|
|
277: Key("btn forward", 277, "", ""),
|
|
278: Key("btn back", 278, "", ""),
|
|
279: Key("btn task", 279, "", ""),
|
|
352: Key("ok", 352, "", ""),
|
|
353: Key("select", 353, "", ""),
|
|
354: Key("goto", 354, "", ""),
|
|
355: Key("clear", 355, "", ""),
|
|
356: Key("power2", 356, "", ""),
|
|
357: Key("option", 357, "", ""),
|
|
358: Key("info", 358, "", ""),
|
|
359: Key("time", 359, "", ""),
|
|
360: Key("vendor", 360, "", ""),
|
|
361: Key("archive", 361, "", ""),
|
|
362: Key("program", 362, "", ""),
|
|
363: Key("channel", 363, "", ""),
|
|
364: Key("favorites", 364, "", ""),
|
|
365: Key("epg", 365, "", ""),
|
|
366: Key("pvr", 366, "", ""),
|
|
367: Key("mhp", 367, "", ""),
|
|
368: Key("language", 368, "", ""),
|
|
369: Key("title", 369, "", ""),
|
|
370: Key("subtitle", 370, "", ""),
|
|
371: Key("angle", 371, "", ""),
|
|
372: Key("zoom", 372, "", ""),
|
|
373: Key("mode", 373, "", ""),
|
|
374: Key("keyboard", 374, "", ""),
|
|
375: Key("screen", 375, "", ""),
|
|
376: Key("pc", 376, "", ""),
|
|
377: Key("tv", 377, "", ""),
|
|
378: Key("tv2", 378, "", ""),
|
|
379: Key("vcr", 379, "", ""),
|
|
380: Key("vcr2", 380, "", ""),
|
|
381: Key("sat", 381, "", ""),
|
|
382: Key("sat2", 382, "", ""),
|
|
383: Key("cd", 383, "", ""),
|
|
384: Key("tape", 384, "", ""),
|
|
385: Key("radio", 385, "", ""),
|
|
386: Key("tuner", 386, "", ""),
|
|
387: Key("player", 387, "", ""),
|
|
388: Key("text", 388, "", ""),
|
|
389: Key("dvd", 389, "", ""),
|
|
390: Key("aux", 390, "", ""),
|
|
391: Key("mp3", 391, "", ""),
|
|
392: Key("audio", 392, "", ""),
|
|
393: Key("video", 393, "", ""),
|
|
394: Key("directory", 394, "", ""),
|
|
395: Key("list", 395, "", ""),
|
|
396: Key("memo", 396, "", ""),
|
|
397: Key("calendar", 397, "", ""),
|
|
398: Key("red", 398, "", ""),
|
|
399: Key("green", 399, "", ""),
|
|
400: Key("yellow", 400, "", ""),
|
|
401: Key("blue", 401, "", ""),
|
|
402: Key("channelup", 402, "", ""),
|
|
403: Key("channeldown", 403, "", ""),
|
|
404: Key("first", 404, "", ""),
|
|
405: Key("last", 405, "", ""),
|
|
406: Key("ab", 406, "", ""),
|
|
407: Key("next", 407, "", ""),
|
|
408: Key("restart", 408, "", ""),
|
|
409: Key("slow", 409, "", ""),
|
|
410: Key("shuffle", 410, "", ""),
|
|
411: Key("break", 411, "", ""),
|
|
412: Key("previous", 412, "", ""),
|
|
413: Key("digits", 413, "", ""),
|
|
414: Key("teen", 414, "", ""),
|
|
415: Key("twen", 415, "", ""),
|
|
416: Key("videophone", 416, "", ""),
|
|
417: Key("games", 417, "", ""),
|
|
418: Key("zoomin", 418, "", ""),
|
|
419: Key("zoomout", 419, "", ""),
|
|
420: Key("zoomreset", 420, "", ""),
|
|
421: Key("wordprocessor", 421, "", ""),
|
|
422: Key("editor", 422, "", ""),
|
|
423: Key("spreadsheet", 423, "", ""),
|
|
424: Key("graphicseditor", 424, "", ""),
|
|
425: Key("presentation", 425, "", ""),
|
|
426: Key("database", 426, "", ""),
|
|
427: Key("news", 427, "", ""),
|
|
428: Key("voicemail", 428, "", ""),
|
|
429: Key("addressbook", 429, "", ""),
|
|
430: Key("messenger", 430, "", ""),
|
|
431: Key("displaytoggle", 431, "", ""),
|
|
432: Key("spellcheck", 432, "", ""),
|
|
433: Key("logoff", 433, "", ""),
|
|
434: Key("dollar", 434, "", ""),
|
|
435: Key("euro", 435, "", ""),
|
|
436: Key("frameback", 436, "", ""),
|
|
437: Key("frameforward", 437, "", ""),
|
|
438: Key("context_menu", 438, "", ""),
|
|
439: Key("repeat", 439, "", ""),
|
|
440: Key("10channelsup", 440, "", ""),
|
|
441: Key("10channelsdown", 441, "", ""),
|
|
442: Key("images", 442, "", ""),
|
|
448: Key("eol", 448, "", ""),
|
|
449: Key("eos", 449, "", ""),
|
|
450: Key("ins_line", 450, "", ""),
|
|
451: Key("del_line", 451, "", ""),
|
|
464: Key("fn", 464, "", ""),
|
|
465: Key("fnesc", 465, "", ""),
|
|
466: Key("f1", 466, "", ""),
|
|
467: Key("f2", 467, "", ""),
|
|
468: Key("f3", 468, "", ""),
|
|
469: Key("f4", 469, "", ""),
|
|
470: Key("f5", 470, "", ""),
|
|
471: Key("f6", 471, "", ""),
|
|
472: Key("f7", 472, "", ""),
|
|
473: Key("f8", 473, "", ""),
|
|
474: Key("f9", 474, "", ""),
|
|
475: Key("f10", 475, "", ""),
|
|
476: Key("f11", 476, "", ""),
|
|
477: Key("f12", 477, "", ""),
|
|
478: Key("fn1", 478, "", ""),
|
|
479: Key("fn2", 479, "", ""),
|
|
480: Key("fnd", 480, "", ""),
|
|
481: Key("fne", 481, "", ""),
|
|
482: Key("fnf", 482, "", ""),
|
|
483: Key("fns", 483, "", ""),
|
|
484: Key("fnb", 484, "", ""),
|
|
497: Key("dot1", 497, "", ""),
|
|
498: Key("dot2", 498, "", ""),
|
|
499: Key("dot3", 499, "", ""),
|
|
500: Key("dot4", 500, "", ""),
|
|
501: Key("dot5", 501, "", ""),
|
|
502: Key("dot6", 502, "", ""),
|
|
503: Key("dot7", 503, "", ""),
|
|
504: Key("dot8", 504, "", ""),
|
|
505: Key("dot9", 505, "", ""),
|
|
506: Key("dot10", 506, "", ""),
|
|
512: Key("np0", 512, "", ""),
|
|
513: Key("np1", 513, "", ""),
|
|
514: Key("np2", 514, "", ""),
|
|
515: Key("np3", 515, "", ""),
|
|
516: Key("np4", 516, "", ""),
|
|
517: Key("np5", 517, "", ""),
|
|
518: Key("np6", 518, "", ""),
|
|
519: Key("np7", 519, "", ""),
|
|
520: Key("np8", 520, "", ""),
|
|
521: Key("np9", 521, "", ""),
|
|
522: Key("npstar", 522, "", ""),
|
|
523: Key("nppound", 523, "", ""),
|
|
524: Key("npa", 524, "", ""),
|
|
525: Key("npb", 525, "", ""),
|
|
526: Key("npc", 526, "", ""),
|
|
527: Key("npd", 527, "", ""),
|
|
528: Key("focus", 528, "", ""),
|
|
529: Key("button", 529, "", ""),
|
|
530: Key("toggle", 530, "", ""),
|
|
531: Key("on", 531, "", ""),
|
|
532: Key("off", 532, "", ""),
|
|
533: Key("zoomin", 533, "", ""),
|
|
534: Key("zoomout", 534, "", ""),
|
|
535: Key("up", 535, "", ""),
|
|
536: Key("down", 536, "", ""),
|
|
537: Key("left", 537, "", ""),
|
|
538: Key("right", 538, "", ""),
|
|
539: Key("on", 539, "", ""),
|
|
540: Key("off", 540, "", ""),
|
|
541: Key("attendant_toggle", 541, "", ""),
|
|
542: Key("lights_toggle", 542, "", ""),
|
|
560: Key("als_toggle", 560, "", ""),
|
|
576: Key("buttonconfig", 576, "", ""),
|
|
577: Key("taskmanager", 577, "", ""),
|
|
578: Key("journal", 578, "", ""),
|
|
579: Key("controlpanel", 579, "", ""),
|
|
580: Key("appselect", 580, "", ""),
|
|
581: Key("screensaver", 581, "", ""),
|
|
582: Key("voicecommand", 582, "", ""),
|
|
592: Key("min", 592, "", ""),
|
|
593: Key("max", 593, "", ""),
|
|
608: Key("prev", 608, "", ""),
|
|
609: Key("next", 609, "", ""),
|
|
610: Key("prevgroup", 610, "", ""),
|
|
611: Key("nextgroup", 611, "", ""),
|
|
612: Key("accept", 612, "", ""),
|
|
613: Key("cancel", 613, "", ""),
|
|
614: Key("up", 614, "", ""),
|
|
615: Key("down", 615, "", ""),
|
|
616: Key("up", 616, "", ""),
|
|
617: Key("down", 617, "", ""),
|
|
618: Key("root_menu", 618, "", ""),
|
|
619: Key("media_top_menu", 619, "", ""),
|
|
620: Key("11", 620, "", ""),
|
|
621: Key("12", 621, "", ""),
|
|
622: Key("desc", 622, "", ""),
|
|
623: Key("mode", 623, "", ""),
|
|
624: Key("favorite", 624, "", ""),
|
|
625: Key("stop_record", 625, "", ""),
|
|
626: Key("pause_record", 626, "", ""),
|
|
627: Key("vod", 627, "", ""),
|
|
628: Key("unmute", 628, "", ""),
|
|
629: Key("fastreverse", 629, "", ""),
|
|
630: Key("slowreverse", 630, "", ""),
|
|
631: Key("data", 631, "", ""),
|
|
635: Key("noop", 635, "", ""),
|
|
}
|
|
|
|
names = {key.name: key for key in codes.values()}
|
|
shifted_names = {key.shifted_name: key for key in codes.values()}
|
|
alt_names = {key.alt_name: key for key in codes.values()}
|