MCPcopy Create free account
hub / github.com/InstantWebP2P/peer-vnc / keysymFromKeyCode

Function keysymFromKeyCode

front/include/keyboard.js:200–231  ·  view source on GitHub ↗
(keycode, shiftPressed)

Source from the content-addressed store, hash-verified

198 // Given a keycode, try to predict which keysym it might be.
199 // If the keycode is unknown, null is returned.
200 function keysymFromKeyCode(keycode, shiftPressed) {
201 if (typeof(keycode) !== 'number') {
202 return null;
203 }
204 // won't be accurate for azerty
205 if (keycode >= 0x30 && keycode <= 0x39) {
206 return keycode; // digit
207 }
208 if (keycode >= 0x41 && keycode <= 0x5a) {
209 // remap to lowercase unless shift is down
210 return shiftPressed ? keycode : keycode + 32; // A-Z
211 }
212 if (keycode >= 0x60 && keycode <= 0x69) {
213 return XK_KP_0 + (keycode - 0x60); // numpad 0-9
214 }
215
216 switch(keycode) {
217 case 0x20: return XK_space;
218 case 0x6a: return XK_KP_Multiply;
219 case 0x6b: return XK_KP_Add;
220 case 0x6c: return XK_KP_Separator;
221 case 0x6d: return XK_KP_Subtract;
222 case 0x6e: return XK_KP_Decimal;
223 case 0x6f: return XK_KP_Divide;
224 case 0xbb: return XK_plus;
225 case 0xbc: return XK_comma;
226 case 0xbd: return XK_minus;
227 case 0xbe: return XK_period;
228 }
229
230 return nonCharacterKey({keyCode: keycode});
231 }
232
233 // if the key is a known non-character key (any key which doesn't generate character data)
234 // return its keysym value. Otherwise return null

Callers 1

getKeysymFunction · 0.85

Calls 1

nonCharacterKeyFunction · 0.85

Tested by

no test coverage detected