1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
5  * You can obtain one at http://mozilla.org/MPL/2.0/. */
6 
7 /**
8  * This header file defines all DOM code name which are used for DOM
9  * KeyboardEvent.code.
10  * You must define NS_DEFINE_PHYSICAL_KEY_CODE_NAME macro before including this.
11  *
12  * It must have two arguments, (aCPPName, aDOMCodeName)
13  * aCPPName is usable name for a part of C++ constants.
14  * aDOMCodeName is the actual value.
15  */
16 
17 #define NS_DEFINE_PHYSICAL_KEY_CODE_NAME_INTERNAL(aCPPName, aDOMCodeName) \
18   NS_DEFINE_PHYSICAL_KEY_CODE_NAME(aCPPName, aDOMCodeName)
19 
20 #define DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(aName) \
21   NS_DEFINE_PHYSICAL_KEY_CODE_NAME_INTERNAL(aName, #aName)
22 
23 // Unknown key
24 NS_DEFINE_PHYSICAL_KEY_CODE_NAME_INTERNAL(UNKNOWN, "")
25 
26 // Writing system keys
27 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Backquote)
28 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Backslash)
29 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Backspace)
30 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(BracketLeft)
31 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(BracketRight)
32 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Comma)
33 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Digit0)
34 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Digit1)
35 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Digit2)
36 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Digit3)
37 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Digit4)
38 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Digit5)
39 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Digit6)
40 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Digit7)
41 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Digit8)
42 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Digit9)
43 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Equal)
44 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(IntlBackslash)
45 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(IntlHash)
46 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(IntlRo)
47 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(IntlYen)
48 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KeyA)
49 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KeyB)
50 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KeyC)
51 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KeyD)
52 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KeyE)
53 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KeyF)
54 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KeyG)
55 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KeyH)
56 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KeyI)
57 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KeyJ)
58 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KeyK)
59 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KeyL)
60 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KeyM)
61 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KeyN)
62 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KeyO)
63 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KeyP)
64 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KeyQ)
65 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KeyR)
66 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KeyS)
67 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KeyT)
68 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KeyU)
69 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KeyV)
70 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KeyW)
71 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KeyX)
72 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KeyY)
73 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KeyZ)
74 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Minus)
75 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Period)
76 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Quote)
77 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Semicolon)
78 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Slash)
79 
80 // Functional keys
81 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(AltLeft)
82 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(AltRight)
83 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(CapsLock)
84 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(ContextMenu)
85 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(ControlLeft)
86 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(ControlRight)
87 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Enter)
88 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(OSLeft)
89 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(OSRight)
90 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(ShiftLeft)
91 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(ShiftRight)
92 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Space)
93 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Tab)
94 
95 // IME keys
96 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Convert)
97 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(KanaMode)
98 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Lang1)
99 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Lang2)
100 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Lang3)
101 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Lang4)
102 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Lang5)
103 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(NonConvert)
104 
105 // Control pad section
106 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Delete)
107 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(End)
108 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Help)
109 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Home)
110 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Insert)
111 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(PageDown)
112 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(PageUp)
113 
114 // Arrow pad section
115 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(ArrowDown)
116 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(ArrowLeft)
117 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(ArrowRight)
118 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(ArrowUp)
119 
120 // Numpad section
121 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(NumLock)
122 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Numpad0)
123 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Numpad1)
124 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Numpad2)
125 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Numpad3)
126 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Numpad4)
127 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Numpad5)
128 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Numpad6)
129 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Numpad7)
130 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Numpad8)
131 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Numpad9)
132 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(NumpadAdd)
133 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(NumpadBackspace)
134 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(NumpadClear)
135 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(NumpadClearEntry)
136 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(NumpadComma)
137 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(NumpadDecimal)
138 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(NumpadDivide)
139 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(NumpadEnter)
140 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(NumpadEqual)
141 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(NumpadMemoryAdd)
142 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(NumpadMemoryClear)
143 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(NumpadMemoryRecall)
144 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(NumpadMemoryStore)
145 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(NumpadMemorySubtract)
146 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(NumpadMultiply)
147 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(NumpadParenLeft)
148 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(NumpadParenRight)
149 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(NumpadSubtract)
150 
151 // Function section
152 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Escape)
153 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(F1)
154 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(F2)
155 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(F3)
156 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(F4)
157 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(F5)
158 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(F6)
159 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(F7)
160 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(F8)
161 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(F9)
162 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(F10)
163 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(F11)
164 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(F12)
165 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(F13)
166 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(F14)
167 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(F15)
168 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(F16)
169 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(F17)
170 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(F18)
171 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(F19)
172 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(F20)
173 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(F21)
174 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(F22)
175 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(F23)
176 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(F24)
177 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Fn)
178 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(FnLock)
179 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(PrintScreen)
180 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(ScrollLock)
181 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Pause)
182 
183 // Media keys
184 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(BrowserBack)
185 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(BrowserFavorites)
186 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(BrowserForward)
187 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(BrowserHome)
188 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(BrowserRefresh)
189 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(BrowserSearch)
190 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(BrowserStop)
191 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Eject)
192 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(LaunchApp1)
193 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(LaunchApp2)
194 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(LaunchMail)
195 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(MediaPlayPause)
196 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(MediaSelect)
197 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(MediaStop)
198 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(MediaTrackNext)
199 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(MediaTrackPrevious)
200 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Power)
201 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Sleep)
202 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(VolumeDown)
203 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(VolumeMute)
204 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(VolumeUp)
205 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(WakeUp)
206 
207 // Legacy Keys and Non-Standard Keys
208 
209 // Legacy modifier keys
210 // DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Hyper)
211 // DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Super)
212 // DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Turbo)
213 
214 // Legacy process control keys
215 // DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Abort)
216 // DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Resume)
217 // DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Suspend)
218 
219 // Legacy editing keys
220 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Again)
221 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Copy)
222 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Cut)
223 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Find)
224 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Open)
225 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Paste)
226 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Props)
227 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Select)
228 DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Undo)
229 
230 // International keyboards
231 // DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Hiragana)
232 // DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME(Katakana)
233 
234 #undef DEFINE_PHYSICAL_KEY_CODE_NAME_WITH_SAME_NAME
235 #undef NS_DEFINE_PHYSICAL_KEY_CODE_NAME_INTERNAL
236