diff options
author | Chih-Hsuan Yen <yan12125@gmail.com> | 2018-01-29 22:47:25 +0800 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2018-01-31 23:55:15 +0100 |
commit | 3a5721e91ba890718319213154ba6964c9dca4d2 (patch) | |
tree | f65352a4ab4c382a5ca26f5c807fed32c544f02f /test/functional/eval/buf_functions_spec.lua | |
parent | 6452831cf985bd31d16eb5a04b345038f45d203f (diff) | |
download | rneovim-3a5721e91ba890718319213154ba6964c9dca4d2.tar.gz rneovim-3a5721e91ba890718319213154ba6964c9dca4d2.tar.bz2 rneovim-3a5721e91ba890718319213154ba6964c9dca4d2.zip |
tui: libtermkey: force CSI driver for mouse input #7948
Fixes #7932
Nvim (tui.c) always enables SGR mouse (TUIData.unibi_ext.enable_mouse).
But if libtermkey sees key_mouse (kmous) in terminfo its terminfo driver
(driver-ti.c) will be activated, which by accident only supports X10
protocol. The libtermkey CSI driver (driver-csi.c), in contrast,
supports SGR.
We can force libtermkey to ignore the terminfo key_mouse entry by
returning NULL in the tui_tk_ti_getstr hook. That forces the CSI driver.
What is the effect of returning NULL from `tui_tk_ti_getstr()`?
- libtermkey `driver-ti.c:load_terminfo()` skips the entry.
- `termkey.c:peekkey()` iterates through all drivers, it finds
`TERMKEY_RES_NONE` for the ti driver and falls back to the CSI driver.
Diffstat (limited to 'test/functional/eval/buf_functions_spec.lua')
0 files changed, 0 insertions, 0 deletions