Функциональные клавиши и клавиши курсора отправляют escape-последовательность, которая начинается с символа ESC (escape ). Нажмите Ctrl + V , затем клавишу или сочетание клавиш. Это буквально вставляет символ ESC, за которым следуют остальные символы escape-последовательности.
Например, предположим, что вы нажимаете Ctrl + VCtrl + Влево , и он вставляет ^[O5D
. ^[
— escape-символ. Затем в .inputrc
вы свяжете его с
"\eO5D": backward-word
Escape-последовательность для данного ключа зависит от терминала, поэтому вы можете в конечном итоге привязать более одной escape-последовательности к одной и той же функции, в зависимости от того, какие терминалы вы используете и как вы их настраиваете. Хорошая новость заключается в том, что по большому счету нет управляющих последовательностей, соответствующих разным клавишам на разных терминалах.
Многие терминалы не отправляют отдельные escape-последовательности для всех клавишных сочетаний. Например, вы можете обнаружить, что Ctrl + Влево и Ctrl + Shift + Влево отправляют одну и ту же управляющую последовательность.. Может быть, а может и не быть способа исправить это в конфигурации терминала;см. этот пост для обсуждения, ориентированного на Emacs -. См. также Как сделать исчерпывающий набор возможностей для определения "командных символов" экрана GNU -? и Как работает ввод с клавиатуры и вывод текста? и Как сделать исчерпывающий набор возможностей для определения "командных символов" экрана GNU -? для получения дополнительной информации по теме.
Как насчетXephyr
:
$ Xephyr :1 -ac -screen 800x600
$ DISPLAY=:1 startfluxbox