Как привязать действие к ctrl-f1 на экране?
Я знаю, что могу сделать:
bindkey "...." action
где.... это то, что я получаю, набрав Ctrl-V, а затем Ctrl-F1. но выглядит плохо, содержит плохие символы (^[) и вообще не круто.
при привязке к f1 я могу сделать:
bindkey -k k1 action
но я не могу найти имя возможности termcap для ctrl-functionkey.
Где я могу найти его?
Когда я нажимаю ctrl-v ctrl-f1 на терминале, я получаю:
^[O5P
это 4 байта, а не 5:
=$ echo "^[O5P" | hexdump -C
00000000 1b 4f 35 50 0a |.O5P.|
1 ответ
К несчастью, screen
очевидно, не понимает достаточно функциональных клавиш, чтобы иметь возможность обрабатывать Ctrl-F1. По крайней мере, я не смог получить bindkey -k FF stuff "pressed Ctrl-F1"
работать даже после попытки определить FF или KF25 с помощью termcap
или же terminfo
команды в ~/.screenrc
, Я также попробовал "kf25" в bindkey
команда. В любом случае я получаю сообщение "bindkey: unknown key".
Возможно, вы или кто-то еще сможете получить дальнейшее использование информации здесь.
В противном случае вы можете продолжать использовать некрасивый, некрутой метод. Для наблюдателей неуместно использовать жестко заданные escape-последовательности вместо имен возможностей, потому что они не будут переносимы на другие типы терминалов.
Названия возможностей:
termcap terminfo xterm F1 k1 kf1 ^ [OP Shift-F1 F3 kf13 ^ [O2P Ctrl-F1 FF kf25 ^ [O5P Ctrl-Shift-F1 FR kf37 ^ [O6P
Выход из tput
:
$ tput -Txterm kf25 | hd
00000000 1b 4f 35 50 |.O5P|