mirror of
https://github.com/wavetermdev/xterm.js.git
synced 2026-08-05 13:43:48 -07:00
@@ -353,5 +353,9 @@ describe('Keyboard', () => {
|
||||
assert.equal(testEvaluateKeyboardEvent({ ctrlKey: true, shiftKey: true, keyCode: 50, key: '@' }).key, '\x00');
|
||||
});
|
||||
|
||||
it('should return proper sequence for ctrl+^', () => {
|
||||
assert.equal(testEvaluateKeyboardEvent({ ctrlKey: true, shiftKey: true, keyCode: 54, key: '^' }).key, '\x1e');
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
@@ -360,12 +360,11 @@ export function evaluateKeyboardEvent(
|
||||
// Include only keys that that result in a _single_ character; don't include num lock,
|
||||
// volume up, etc.
|
||||
result.key = ev.key;
|
||||
} else if (ev.key && ev.ctrlKey) {
|
||||
if (ev.key === '_') { // ^_
|
||||
result.key = C0.US;
|
||||
}
|
||||
if (ev.key === '@') { // ^ + shift + 2 = ^ + @
|
||||
result.key = C0.NUL;
|
||||
} else if (ev.key && ev.ctrlKey && ev.shiftKey) {
|
||||
switch (ev.code) {
|
||||
case 'Minus': result.key = C0.US; break; // ^_ (Ctrl+Shift+-_
|
||||
case 'Digit2': result.key = C0.NUL; break; // ^@ (Ctrl+Shift+2)
|
||||
case 'Digit6': result.key = C0.RS; break; // ^^ (Ctrl+Shift+6)
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user