-
Notifications
You must be signed in to change notification settings - Fork 11
/
keyboard-polyfill.js
92 lines (84 loc) · 1.7 KB
/
keyboard-polyfill.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
// Polyfill for navigator.keyboard.getKeyMap
//
// Because there is no way to determine the current keyboard layout, this
// assumes that the current layout is US-en.
if (typeof navigator.keyboard == 'undefined') (function() {
var Keyboard = function() {
return {
getKeyMap : function() {
return {
// Top row
'Backquote': '`',
'Digit1': '1',
'Digit2': '2',
'Digit3': '3',
'Digit4': '4',
'Digit5': '5',
'Digit6': '6',
'Digit7': '7',
'Digit8': '8',
'Digit9': '9',
'Digit0': '0',
'Minus': '-',
'Equal': '=',
'IntlYen': '\\',
//'Backspace': 'Backspace',
// 2nd row
//'Tab': 'Tab',
'KeyQ': 'q',
'KeyW': 'w',
'KeyE': 'e',
'KeyR': 'r',
'KeyT': 't',
'KeyY': 'y',
'KeyU': 'u',
'KeyI': 'i',
'KeyO': 'o',
'KeyP': 'p',
'BracketLeft': '[',
'BracketRight': ']',
'Backslash': '\\',
// 3rd row
//'CapsLock': 'CapsLock',
'KeyA': 'a',
'KeyS': 's',
'KeyD': 'd',
'KeyF': 'f',
'KeyG': 'g',
'KeyH': 'h',
'KeyJ': 'j',
'KeyK': 'k',
'KeyL': 'l',
'Semicolon': ':',
'Quote': "'",
//'Enter': 'Enter',
// 4th row
//'ShiftLeft': 'Shift',
'IntlBackslash': '\\',
'KeyZ': 'z',
'KeyX': 'x',
'KeyC': 'c',
'KeyV': 'v',
'KeyB': 'b',
'KeyN': 'n',
'KeyM': 'm',
'Comma': ',',
'Period': '.',
'Slash': '/',
//IntlRo
//'ShiftRight': 'Shift',
// 5th row
//'ControlLeft': 'Control',
//'MetaLeft': 'Meta',
//'AltLeft': 'Alt',
//'Space': ' ',
//'AltRight': 'Alt',
//'MetaRight': 'Meta',
//ContextMenu
//'ControlRight': 'Control',
}
}
};
};
navigator.keyboard = new Keyboard();
})();