@@ -474,11 +474,25 @@ describe('KittyKeyboard', () => {
474474 } ) ;
475475
476476 it ( 'modifier key release includes its own bit cleared' , ( ) => {
477- const result = kitty . evaluate ( createEvent ( { key : 'Shift' , code : 'ShiftLeft' , shiftKey : false } ) , flags , KittyKeyboardEventType . RELEASE ) ;
477+ const result = kitty . evaluate ( createEvent ( { key : 'Shift' , code : 'ShiftLeft' , shiftKey : false } ) , flags | KittyKeyboardFlags . REPORT_ALL_KEYS_AS_ESCAPE_CODES , KittyKeyboardEventType . RELEASE ) ;
478478 assert . strictEqual ( result . key , '\x1b[57441;1:3u' ) ;
479479 } ) ;
480480 } ) ;
481481
482+ describe ( 'modifier-only reporting' , ( ) => {
483+ const flags = KittyKeyboardFlags . REPORT_EVENT_TYPES ;
484+
485+ it ( 'does not report modifier press without REPORT_ALL_KEYS_AS_ESCAPE_CODES' , ( ) => {
486+ const result = kitty . evaluate ( createEvent ( { key : 'Shift' , code : 'ShiftLeft' , shiftKey : true } ) , flags ) ;
487+ assert . strictEqual ( result . key , undefined ) ;
488+ } ) ;
489+
490+ it ( 'does not report modifier release without REPORT_ALL_KEYS_AS_ESCAPE_CODES' , ( ) => {
491+ const result = kitty . evaluate ( createEvent ( { key : 'Shift' , code : 'ShiftLeft' , shiftKey : false } ) , flags , KittyKeyboardEventType . RELEASE ) ;
492+ assert . strictEqual ( result . key , undefined ) ;
493+ } ) ;
494+ } ) ;
495+
482496 describe ( 'REPORT_ALL_KEYS_AS_ESCAPE_CODES flag' , ( ) => {
483497 const flags = KittyKeyboardFlags . REPORT_ALL_KEYS_AS_ESCAPE_CODES ;
484498
0 commit comments