* feat: 🎸 Update hotkeys and user preferences modal This feature fix incompatibility with existent hotkeys component and adds user preferences modal back Closes: #923 * Update preferences structure in store * Hide window level section of user preferences * Update modal to reflect current hotkey value * Clone object with hotkeys before passing to manager * CR Update: Extract hotkeys manager format code to manager * Fix broken cypress test * Use new modal provider * Rename hotkeyDefinitions in hotkeyspreferences and use array as representation * Update study test and remove unused styles
101 lines
1.5 KiB
JavaScript
101 lines
1.5 KiB
JavaScript
const range = (start, end) => {
|
|
return new Array(end - start).fill().map((d, i) => i + start);
|
|
};
|
|
|
|
export const disallowedCombinations = {
|
|
'': [],
|
|
alt: ['space'],
|
|
shift: [],
|
|
ctrl: [
|
|
'f4',
|
|
'f5',
|
|
'f11',
|
|
'w',
|
|
'r',
|
|
't',
|
|
'o',
|
|
'p',
|
|
'a',
|
|
'd',
|
|
'f',
|
|
'g',
|
|
'h',
|
|
'j',
|
|
'l',
|
|
'z',
|
|
'x',
|
|
'c',
|
|
'v',
|
|
'b',
|
|
'n',
|
|
'pagedown',
|
|
'pageup',
|
|
],
|
|
'ctrl+shift': ['q', 'w', 'r', 't', 'p', 'a', 'h', 'v', 'b', 'n'],
|
|
};
|
|
|
|
export const allowedKeys = [
|
|
...[8, 13, 27, 32, 46], // backspace, enter, escape, space, delete
|
|
...[12, 106, 107, 109, 110, 111], // Numpad keys
|
|
...range(218, 220), // [\]
|
|
...range(185, 190), // ;=,-./
|
|
...range(111, 131), // F1-F19
|
|
...range(32, 41), // arrow keys, home/end, pg dn/up
|
|
...range(47, 58), // 0-9
|
|
...range(64, 91), // A-Z
|
|
];
|
|
|
|
export const specialKeys = {
|
|
8: 'backspace',
|
|
9: 'tab',
|
|
13: 'return',
|
|
16: 'shift',
|
|
17: 'ctrl',
|
|
18: 'alt',
|
|
19: 'pause',
|
|
20: 'capslock',
|
|
27: 'esc',
|
|
32: 'space',
|
|
33: 'pageup',
|
|
34: 'pagedown',
|
|
35: 'end',
|
|
36: 'home',
|
|
37: 'left',
|
|
38: 'up',
|
|
39: 'right',
|
|
40: 'down',
|
|
45: 'insert',
|
|
46: 'del',
|
|
96: '0',
|
|
97: '1',
|
|
98: '2',
|
|
99: '3',
|
|
100: '4',
|
|
101: '5',
|
|
102: '6',
|
|
103: '7',
|
|
104: '8',
|
|
105: '9',
|
|
106: '*',
|
|
107: '+',
|
|
109: '-',
|
|
110: '.',
|
|
111: '/',
|
|
112: 'f1',
|
|
113: 'f2',
|
|
114: 'f3',
|
|
115: 'f4',
|
|
116: 'f5',
|
|
117: 'f6',
|
|
118: 'f7',
|
|
119: 'f8',
|
|
120: 'f9',
|
|
121: 'f10',
|
|
122: 'f11',
|
|
123: 'f12',
|
|
144: 'numlock',
|
|
145: 'scroll',
|
|
191: '/',
|
|
224: 'meta',
|
|
};
|