rmk_config/
keycode_alias.rs

1use std::collections::HashMap;
2
3use once_cell::sync::Lazy;
4
5pub static KEYCODE_ALIAS: Lazy<HashMap<&str, &str>> = Lazy::new(|| {
6    let mut m = HashMap::new();
7
8    macro_rules! add_alias {
9        ($keycode:tt) => {
10            m.insert(paste::paste!{ stringify!([<$keycode:lower>]) }, $keycode);
11        };
12        ($keycode:tt = $( $alias:expr),*) => {
13            add_alias!($keycode);
14            $(
15                m.insert($alias, $keycode);
16            )*
17        };
18    }
19
20    add_alias!("No");
21    add_alias!("A");
22    add_alias!("B");
23    add_alias!("C");
24    add_alias!("D");
25    add_alias!("E");
26    add_alias!("F");
27    add_alias!("G");
28    add_alias!("H");
29    add_alias!("I");
30    add_alias!("J");
31    add_alias!("K");
32    add_alias!("L");
33    add_alias!("M");
34    add_alias!("N");
35    add_alias!("O");
36    add_alias!("P");
37    add_alias!("Q");
38    add_alias!("R");
39    add_alias!("S");
40    add_alias!("T");
41    add_alias!("U");
42    add_alias!("V");
43    add_alias!("W");
44    add_alias!("X");
45    add_alias!("Y");
46    add_alias!("Z");
47    add_alias!("Kc1" = "1");
48    add_alias!("Kc2" = "2");
49    add_alias!("Kc3" = "3");
50    add_alias!("Kc4" = "4");
51    add_alias!("Kc5" = "5");
52    add_alias!("Kc6" = "6");
53    add_alias!("Kc7" = "7");
54    add_alias!("Kc8" = "8");
55    add_alias!("Kc9" = "9");
56    add_alias!("Kc0" = "0");
57    add_alias!("Enter" = "ent");
58    add_alias!("Escape" = "esc");
59    add_alias!("Backspace" = "bspc");
60    add_alias!("Tab");
61    add_alias!("Space" = "spc");
62    add_alias!("Minus" = "mins", "-");
63    add_alias!("Equal" = "eql", "=");
64    add_alias!("LeftBracket" = "left_bracket", "lbrc", "[");
65    add_alias!("RightBracket" = "right_bracket", "rbrc", "]");
66    add_alias!("Backslash" = "bsls", "\\");
67    add_alias!("NonusHash" = "nonus_hash", "nuhs");
68    add_alias!("Semicolon" = "scln", ";");
69    add_alias!("Quote" = "quot", "'");
70    add_alias!("Grave" = "grv", "`");
71    add_alias!("Comma" = "comm", ",");
72    add_alias!("Dot" = ".");
73    add_alias!("Slash" = "slsh", "/");
74    add_alias!("CapsLock" = "caps_lock", "caps");
75    add_alias!("CapsWordToggle" = "caps_word", "cword");
76    add_alias!("F1");
77    add_alias!("F2");
78    add_alias!("F3");
79    add_alias!("F4");
80    add_alias!("F5");
81    add_alias!("F6");
82    add_alias!("F7");
83    add_alias!("F8");
84    add_alias!("F9");
85    add_alias!("F10");
86    add_alias!("F11");
87    add_alias!("F12");
88    add_alias!("PrintScreen" = "print_screen", "pscr");
89    add_alias!("ScrollLock" = "scroll_lock", "scrl", "brmd");
90    add_alias!("Pause" = "paus", "brk", "brmu");
91    add_alias!("Insert" = "ins");
92    add_alias!("Home");
93    add_alias!("PageUp" = "page_up", "pgup");
94    add_alias!("Delete" = "del");
95    add_alias!("End");
96    add_alias!("PageDown" = "page_down", "pgdn");
97    add_alias!("Right" = "rght");
98    add_alias!("Left");
99    add_alias!("Down");
100    add_alias!("Up");
101    add_alias!("NumLock" = "num_lock", "num");
102    add_alias!("KpSlash" = "kp_slash", "psls");
103    add_alias!("KpAsterisk" = "kp_asterisk", "past");
104    add_alias!("KpMinus" = "kp_minus", "pmns");
105    add_alias!("KpPlus" = "kp_plus", "ppls");
106    add_alias!("KpEnter" = "kp_enter", "pent");
107    add_alias!("Kp1" = "kp_1");
108    add_alias!("Kp2" = "kp_2");
109    add_alias!("Kp3" = "kp_3");
110    add_alias!("Kp4" = "kp_4");
111    add_alias!("Kp5" = "kp_5");
112    add_alias!("Kp6" = "kp_6");
113    add_alias!("Kp7" = "kp_7");
114    add_alias!("Kp8" = "kp_8");
115    add_alias!("Kp9" = "kp_9");
116    add_alias!("Kp0" = "kp_0");
117    add_alias!("KpDot" = "kp_dot", "pdot");
118    add_alias!("NonusBackslash" = "nonus_backslash", "nubs");
119    add_alias!("Application" = "app");
120    add_alias!("KbPower" = "kb_power");
121    add_alias!("KpEqual" = "kp_equal", "peql");
122    add_alias!("F13");
123    add_alias!("F14");
124    add_alias!("F15");
125    add_alias!("F16");
126    add_alias!("F17");
127    add_alias!("F18");
128    add_alias!("F19");
129    add_alias!("F20");
130    add_alias!("F21");
131    add_alias!("F22");
132    add_alias!("F23");
133    add_alias!("F24");
134    add_alias!("Execute" = "exec");
135    add_alias!("Help");
136    add_alias!("Menu");
137    add_alias!("Select" = "slct");
138    add_alias!("Stop");
139    add_alias!("Again" = "agin");
140    add_alias!("Undo");
141    add_alias!("Cut");
142    add_alias!("Copy");
143    add_alias!("Paste" = "pste");
144    add_alias!("Find");
145    add_alias!("KbMute" = "kb_mute");
146    add_alias!("KbVolumeUp" = "kb_volume_up");
147    add_alias!("KbVolumeDown" = "kb_volume_down");
148    add_alias!("LockingCapsLock" = "locking_caps_lock", "lcap");
149    add_alias!("LockingNumLock" = "locking_num_lock", "lnum");
150    add_alias!("LockingScrollLock" = "locking_scroll_lock", "lscr");
151    add_alias!("KpComma" = "kp_comma", "pcmm");
152    add_alias!("KpEqualAs400" = "kp_equal_as400");
153    add_alias!("International1" = "international_1", "int1");
154    add_alias!("International2" = "international_2", "int2");
155    add_alias!("International3" = "international_3", "int3");
156    add_alias!("International4" = "international_4", "int4");
157    add_alias!("International5" = "international_5", "int5");
158    add_alias!("International6" = "international_6", "int6");
159    add_alias!("International7" = "international_7", "int7");
160    add_alias!("International8" = "international_8", "int8");
161    add_alias!("International9" = "international_9", "int9");
162    add_alias!("Language1" = "language_1", "lng1");
163    add_alias!("Language2" = "language_2", "lng2");
164    add_alias!("Language3" = "language_3", "lng3");
165    add_alias!("Language4" = "language_4", "lng4");
166    add_alias!("Language5" = "language_5", "lng5");
167    add_alias!("Language6" = "language_6", "lng6");
168    add_alias!("Language7" = "language_7", "lng7");
169    add_alias!("Language8" = "language_8", "lng8");
170    add_alias!("Language9" = "language_9", "lng9");
171    add_alias!("AlternateErase" = "alternate_erase", "eras");
172    add_alias!("SystemRequest" = "system_request", "syrq");
173    add_alias!("Cancel" = "cncl");
174    add_alias!("Clear" = "clr");
175    add_alias!("Prior" = "prir");
176    add_alias!("Return" = "retn");
177    add_alias!("Separator" = "sepr");
178    add_alias!("Out");
179    add_alias!("Oper");
180    add_alias!("ClearAgain" = "clear_again", "clag");
181    add_alias!("Crsel" = "crsl");
182    add_alias!("Exsel" = "exsl");
183    add_alias!("SystemPower" = "system_power", "pwr");
184    add_alias!("SystemSleep" = "system_sleep", "slep");
185    add_alias!("SystemWake" = "system_wake", "wake");
186    add_alias!("AudioMute" = "audio_mute", "mute");
187    add_alias!("AudioVolUp" = "audio_vol_up", "volu");
188    add_alias!("AudioVolDown" = "audio_vol_down", "vold");
189    add_alias!("MediaNextTrack" = "media_next_track", "mnxt");
190    add_alias!("MediaPrevTrack" = "media_prev_track", "mprv");
191    add_alias!("MediaStop" = "media_stop", "mstp");
192    add_alias!("MediaPlayPause" = "media_play_pause", "mply");
193    add_alias!("MediaSelect" = "media_select", "msel");
194    add_alias!("MediaEject" = "media_eject", "ejct");
195    add_alias!("Mail");
196    add_alias!("Calculator" = "calc");
197    add_alias!("MyComputer" = "my_computer", "mycm");
198    add_alias!("WwwSearch" = "www_search", "wsch");
199    add_alias!("WwwHome" = "www_home", "whom");
200    add_alias!("WwwBack" = "www_back", "wbak");
201    add_alias!("WwwForward" = "www_forward", "wfwd");
202    add_alias!("WwwStop" = "www_stop", "wstp");
203    add_alias!("WwwRefresh" = "www_refresh", "wref");
204    add_alias!("WwwFavorites" = "www_favorites", "wfav");
205    add_alias!("MediaFastForward" = "media_fast_forward", "mffd");
206    add_alias!("MediaRewind" = "media_rewind", "mrwd");
207    add_alias!("BrightnessUp" = "brightness_up", "briu");
208    add_alias!("BrightnessDown" = "brightness_down", "brid");
209    add_alias!("ControlPanel" = "control_panel", "cpnl");
210    add_alias!("Assistant" = "asst");
211    add_alias!("MissionControl" = "mission_control", "mctl");
212    add_alias!("Launchpad" = "lpad");
213    add_alias!("MouseUp" = "mousecursorup", "mouse_cursor_up", "ms_up");
214    add_alias!("MouseDown" = "mousecursordown", "mouse_cursor_down", "ms_down");
215    add_alias!("MouseLeft" = "mousecursorleft", "mouse_cursor_left", "ms_left");
216    add_alias!("MouseRight" = "mousecursorright", "mouse_cursor_right", "ms_right");
217    add_alias!("MouseBtn1" = "mouse_btn_1", "mousebutton1", "mouse_button_1", "ms_btn1");
218    add_alias!("MouseBtn2" = "mouse_btn_2", "mousebutton2", "mouse_button_2", "ms_btn2");
219    add_alias!("MouseBtn3" = "mouse_btn_3", "mousebutton3", "mouse_button_3", "ms_btn3");
220    add_alias!("MouseBtn4" = "mouse_btn_4", "mousebutton4", "mouse_button_4", "ms_btn4");
221    add_alias!("MouseBtn5" = "mouse_btn_5", "mousebutton5", "mouse_button_5", "ms_btn5");
222    add_alias!("MouseBtn6" = "mouse_btn_6", "mousebutton6", "mouse_button_6", "ms_btn6");
223    add_alias!("MouseBtn7" = "mouse_btn_7", "mousebutton7", "mouse_button_7", "ms_btn7");
224    add_alias!("MouseBtn8" = "mouse_btn_8", "mousebutton8", "mouse_button_8", "ms_btn8");
225    add_alias!("MouseWheelUp" = "mouse_wheel_up", "ms_whlu");
226    add_alias!("MouseWheelDown" = "mouse_wheel_down", "ms_whld");
227    add_alias!("MouseWheelLeft" = "mouse_wheel_left", "ms_whll");
228    add_alias!("MouseWheelRight" = "mouse_wheel_right", "ms_whlr");
229    add_alias!(
230        "MouseAccel0" = "mouse_accel_0",
231        "mouseacceleration0",
232        "mouse_acceleration_0",
233        "ms_acl0"
234    );
235    add_alias!(
236        "MouseAccel1" = "mouse_accel_1",
237        "mouseacceleration1",
238        "mouse_acceleration_1",
239        "ms_acl1"
240    );
241    add_alias!(
242        "MouseAccel2" = "mouse_accel_2",
243        "mouseacceleration2",
244        "mouse_acceleration_2",
245        "ms_acl2"
246    );
247    add_alias!("LCtrl" = "l_ctrl", "leftctrl", "left_ctrl", "lctl");
248    add_alias!("LShift" = "l_shift", "leftshift", "left_shift", "lsft");
249    add_alias!("LAlt" = "l_alt", "leftalt", "left_alt", "lopt");
250    add_alias!("LGui" = "l_gui", "leftgui", "left_gui", "lcmd", "lwin");
251    add_alias!("RCtrl" = "r_ctrl", "rightctrl", "right_ctrl", "rctl");
252    add_alias!("RShift" = "r_shift", "rightshift", "right_shift", "rsft");
253    add_alias!("RAlt" = "r_alt", "rightalt", "right_alt", "ropt", "algr");
254    add_alias!("RGui" = "r_gui", "rightgui", "right_gui", "rcmd", "rwin");
255
256    m
257});