INIT WANTSTATE !Unmodified ASCII INCHAR 0 41 output "A" INCHAR 0 61 output "a" !Ctrl modifier on ASCII letters INCHAR C 41 output "\e[65;5u" INCHAR C 61 output "\x01" !Alt modifier on ASCII letters INCHAR A 41 output "\eA" INCHAR A 61 output "\ea" !Ctrl-Alt modifier on ASCII letters INCHAR CA 41 output "\e[65;7u" INCHAR CA 61 output "\e\x01" !Special handling of Ctrl-I INCHAR 0 49 output "I" INCHAR 0 69 output "i" INCHAR C 49 output "\e[73;5u" INCHAR C 69 output "\e[105;5u" INCHAR A 49 output "\eI" INCHAR A 69 output "\ei" INCHAR CA 49 output "\e[73;7u" INCHAR CA 69 output "\e[105;7u" !Special handling of Space INCHAR 0 20 output " " INCHAR S 20 output "\e[32;2u" INCHAR C 20 output "\0" INCHAR SC 20 output "\e[32;6u" INCHAR A 20 output "\e " INCHAR SA 20 output "\e[32;4u" INCHAR CA 20 output "\e\0" INCHAR SCA 20 output "\e[32;8u" !Cursor keys in reset (cursor) mode INKEY 0 Up output "\e[A" INKEY S Up output "\e[1;2A" INKEY C Up output "\e[1;5A" INKEY SC Up output "\e[1;6A" INKEY A Up output "\e[1;3A" INKEY SA Up output "\e[1;4A" INKEY CA Up output "\e[1;7A" INKEY SCA Up output "\e[1;8A" !Cursor keys in application mode PUSH "\e[?1h" # Plain "Up" should be SS3 A now INKEY 0 Up output "\eOA" # Modified keys should still use CSI INKEY S Up output "\e[1;2A" INKEY C Up output "\e[1;5A" !Shift-Tab should be different INKEY 0 Tab output "\x09" INKEY S Tab output "\e[Z" INKEY C Tab output "\e[9;5u" INKEY A Tab output "\e\x09" INKEY CA Tab output "\e[9;7u" !Enter in linefeed mode INKEY 0 Enter output "\x0d" !Enter in newline mode PUSH "\e[20h" INKEY 0 Enter output "\x0d\x0a" !Unmodified F1 is SS3 P INKEY 0 F1 output "\eOP" !Modified F1 is CSI P INKEY S F1 output "\e[1;2P" INKEY A F1 output "\e[1;3P" INKEY C F1 output "\e[1;5P" !Keypad in DECKPNM INKEY 0 KP0 output "0" !Keypad in DECKPAM PUSH "\e=" INKEY 0 KP0 output "\eOp" !Bracketed paste mode off PASTE START PASTE END !Bracketed paste mode on PUSH "\e[?2004h" PASTE START output "\e[200~" PASTE END output "\e[201~" !Focus reporting disabled FOCUS IN FOCUS OUT !Focus reporting enabled PUSH "\e[?1004h" FOCUS IN output "\e[I" FOCUS OUT output "\e[O"