Support 3-parameter modifyOtherKeys sequences (#13342)

This commit is contained in:
Tommaso Sciortino
2025-11-18 16:40:40 -08:00
committed by GitHub
parent 10003a6490
commit 90c764ce13
2 changed files with 29 additions and 10 deletions

View File

@@ -405,12 +405,21 @@ describe('KeypressContext', () => {
describe('Parameterized functional keys', () => {
it.each([
// Parameterized
// ModifyOtherKeys
{ sequence: `\x1b[27;2;13~`, expected: { name: 'return', shift: true } },
{ sequence: `\x1b[27;5;13~`, expected: { name: 'return', ctrl: true } },
{ sequence: `\x1b[27;5;9~`, expected: { name: 'tab', ctrl: true } },
{
sequence: `\x1b[27;6;9~`,
expected: { name: 'tab', ctrl: true, shift: true },
},
// XTerm Function Key
{ sequence: `\x1b[1;129A`, expected: { name: 'up' } },
{ sequence: `\x1b[1;2H`, expected: { name: 'home', shift: true } },
{ sequence: `\x1b[1;5F`, expected: { name: 'end', ctrl: true } },
{ sequence: `\x1b[1;1P`, expected: { name: 'f1' } },
{ sequence: `\x1b[1;3Q`, expected: { name: 'f2', meta: true } },
// Tilde Function Keys
{ sequence: `\x1b[3~`, expected: { name: 'delete' } },
{ sequence: `\x1b[5~`, expected: { name: 'pageup' } },
{ sequence: `\x1b[6~`, expected: { name: 'pagedown' } },
@@ -441,6 +450,7 @@ describe('KeypressContext', () => {
sequence: `\x1b[D`,
expected: { name: 'left', ctrl: false, meta: false, shift: false },
},
// Legacy Home/End
{
sequence: `\x1b[H`,