view src/libvterm/t/25state_input.test @ 12865:ebb4f6c93598 v8.0.1309

patch 8.0.1309: cannot use 'balloonexpr' in a terminal commit https://github.com/vim/vim/commit/51b0f3701ecb440aa72ab6017c1df6940c0e0f6f Author: Bram Moolenaar <Bram@vim.org> Date: Sat Nov 18 18:52:04 2017 +0100 patch 8.0.1309: cannot use 'balloonexpr' in a terminal Problem: Cannot use 'balloonexpr' in a terminal. Solution: Add 'balloonevalterm' and add code to handle mouse movements in a terminal. Initial implementation for Unix with GUI.
author Christian Brabandt <cb@256bit.org>
date Sat, 18 Nov 2017 19:00:06 +0100
parents b8299e742f41
children 9f857e6310b6
line wrap: on
line source

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~"