Skip to content

Commit 543ecb0

Browse files
authoredJan 21, 2025··
fix(keyboard): add brackets to defaultKeyMap (#1226)
1 parent f0468d0 commit 543ecb0

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed
 

‎src/keyboard/keyMap.ts

+6-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import {DOM_KEY_LOCATION, keyboardKey} from '../system/keyboard'
44
* Mapping for a default US-104-QWERTY keyboard
55
*/
66
export const defaultKeyMap: keyboardKey[] = [
7-
// alphanumeric keys
7+
// alphanumeric block - writing system
88
...'0123456789'.split('').map(c => ({code: `Digit${c}`, key: c})),
99
...')!@#$%^&*('
1010
.split('')
@@ -16,6 +16,11 @@ export const defaultKeyMap: keyboardKey[] = [
1616
.split('')
1717
.map(c => ({code: `Key${c}`, key: c, shiftKey: true})),
1818

19+
{code: 'BracketLeft', key: '['},
20+
{code: 'BracketLeft', key: '{', shiftKey: true},
21+
{code: 'BracketRight', key: ']'},
22+
{code: 'BracketRight', key: '}', shiftKey: true},
23+
1924
// alphanumeric block - functional
2025
{code: 'Space', key: ' '},
2126

‎tests/keyboard/parseKeyDef.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -44,26 +44,26 @@ cases(
4444
},
4545
'{ as printable': {
4646
text: '{{',
47-
keyDef: {key: '{', code: 'Unknown'},
47+
keyDef: {key: '{', code: 'BracketLeft', shiftKey: true},
4848
},
4949
'{ as printable followed by descriptor': {
5050
text: '{{{foo}',
5151
keyDef: [
52-
{key: '{', code: 'Unknown'},
52+
{key: '{', code: 'BracketLeft', shiftKey: true},
5353
{key: 'foo', code: 'Unknown'},
5454
],
5555
},
5656
'{ as key with modifiers': {
5757
text: '{\\{>5/}',
58-
keyDef: {key: '{', code: 'Unknown'},
58+
keyDef: {key: '{', code: 'BracketLeft', shiftKey: true},
5959
},
6060
'modifier as key with modifiers': {
6161
text: '{/\\/>5/}',
6262
keyDef: {key: '/', code: 'Unknown'},
6363
},
6464
'[ as printable': {
6565
text: '[[',
66-
keyDef: {key: '[', code: 'Unknown'},
66+
keyDef: {key: '[', code: 'BracketLeft'},
6767
},
6868
},
6969
)

0 commit comments

Comments
 (0)
Please sign in to comment.