forked from aniani/vim
144 lines
2.0 KiB
Plaintext
144 lines
2.0 KiB
Plaintext
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"
|
|
|
|
!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"
|