@@ -84,6 +84,45 @@ describe('xterm.js', function() {
8484 it ( 'should return \\x1b[5B for alt+down' , function ( ) {
8585 assert . equal ( xterm . evaluateKeyEscapeSequence ( { altKey : true , keyCode : 40 } ) . key , '\x1b[1;5B' ) ; // CSI 5 B
8686 } ) ;
87+ it ( 'should return the correct escape sequence for modified F1-F12 keys' , function ( ) {
88+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { shiftKey : true , keyCode : 112 } ) . key , '\x1b[1;2P' ) ;
89+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { shiftKey : true , keyCode : 113 } ) . key , '\x1b[1;2Q' ) ;
90+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { shiftKey : true , keyCode : 114 } ) . key , '\x1b[1;2R' ) ;
91+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { shiftKey : true , keyCode : 115 } ) . key , '\x1b[1;2S' ) ;
92+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { shiftKey : true , keyCode : 116 } ) . key , '\x1b[15;2~' ) ;
93+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { shiftKey : true , keyCode : 117 } ) . key , '\x1b[17;2~' ) ;
94+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { shiftKey : true , keyCode : 118 } ) . key , '\x1b[18;2~' ) ;
95+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { shiftKey : true , keyCode : 119 } ) . key , '\x1b[19;2~' ) ;
96+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { shiftKey : true , keyCode : 120 } ) . key , '\x1b[20;2~' ) ;
97+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { shiftKey : true , keyCode : 121 } ) . key , '\x1b[21;2~' ) ;
98+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { shiftKey : true , keyCode : 122 } ) . key , '\x1b[23;2~' ) ;
99+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { shiftKey : true , keyCode : 123 } ) . key , '\x1b[24;2~' ) ;
100+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { altKey : true , keyCode : 112 } ) . key , '\x1b[1;3P' ) ;
101+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { altKey : true , keyCode : 113 } ) . key , '\x1b[1;3Q' ) ;
102+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { altKey : true , keyCode : 114 } ) . key , '\x1b[1;3R' ) ;
103+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { altKey : true , keyCode : 115 } ) . key , '\x1b[1;3S' ) ;
104+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { altKey : true , keyCode : 116 } ) . key , '\x1b[15;3~' ) ;
105+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { altKey : true , keyCode : 117 } ) . key , '\x1b[17;3~' ) ;
106+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { altKey : true , keyCode : 118 } ) . key , '\x1b[18;3~' ) ;
107+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { altKey : true , keyCode : 119 } ) . key , '\x1b[19;3~' ) ;
108+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { altKey : true , keyCode : 120 } ) . key , '\x1b[20;3~' ) ;
109+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { altKey : true , keyCode : 121 } ) . key , '\x1b[21;3~' ) ;
110+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { altKey : true , keyCode : 122 } ) . key , '\x1b[23;3~' ) ;
111+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { altKey : true , keyCode : 123 } ) . key , '\x1b[24;3~' ) ;
112+
113+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { ctrlKey : true , keyCode : 112 } ) . key , '\x1b[1;5P' ) ;
114+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { ctrlKey : true , keyCode : 113 } ) . key , '\x1b[1;5Q' ) ;
115+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { ctrlKey : true , keyCode : 114 } ) . key , '\x1b[1;5R' ) ;
116+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { ctrlKey : true , keyCode : 115 } ) . key , '\x1b[1;5S' ) ;
117+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { ctrlKey : true , keyCode : 116 } ) . key , '\x1b[15;5~' ) ;
118+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { ctrlKey : true , keyCode : 117 } ) . key , '\x1b[17;5~' ) ;
119+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { ctrlKey : true , keyCode : 118 } ) . key , '\x1b[18;5~' ) ;
120+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { ctrlKey : true , keyCode : 119 } ) . key , '\x1b[19;5~' ) ;
121+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { ctrlKey : true , keyCode : 120 } ) . key , '\x1b[20;5~' ) ;
122+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { ctrlKey : true , keyCode : 121 } ) . key , '\x1b[21;5~' ) ;
123+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { ctrlKey : true , keyCode : 122 } ) . key , '\x1b[23;5~' ) ;
124+ assert . equal ( xterm . evaluateKeyEscapeSequence ( { ctrlKey : true , keyCode : 123 } ) . key , '\x1b[24;5~' ) ;
125+ } ) ;
87126 } ) ;
88127
89128 describe ( 'attachCustomEventHandler' , function ( ) {
0 commit comments