Как связать действие с ctrl-f1 на экране?

Если я понимаю Ваш вопрос правильно, можно изменить ~/.vnc/xstartup, чтобы дать Вам все "X настольного волшебства" от VNC.

измените последнюю строку xstartup от twm & кому: gnome-sesssion & или startkde &

0
задан 12 November 2009 в 21:07
1 ответ

К сожалению, screen по-видимому, не понимает достаточно функциональных клавиш, чтобы смочь обработать Ctrl-F1. По крайней мере, я не смог добраться bindkey -k FF stuff "pressed Ctrl-F1" работать даже после попытки определить FF или kf25 с помощью termcap или terminfo команды в ~/.screenrc. Я также попробовал "kf25" в bindkey команда. В любом случае я добираюсь "bindkey: неизвестное ключевое" сообщение.

Возможно, Вы или кто-то еще сможете получить более далекое использование информации здесь.

Иначе можно продолжить использовать ужасный, некрутой метод. Для зрителей это некруто для использования трудно кодированных 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|
1
ответ дан 4 December 2019 в 23:19
  • 1
    это doesn' t полностью работают, но - как сделал Вас, нашел имена возможности? там некоторая команда должна перечислить их? –   13 November 2009 в 07:37
  • 2
    It' s не очевидный, как имена возможности отображаются на смещенный и ctrl' d ключи, it' s просто некоторое старое знание, вращающееся в моей памяти. Однако имена возможности документируются в man 5 terminfo и man 5 termcap. Некоторые могли бы найти этот список функциональных клавиш для всех terminfo записей интересным (вывод очень долог): for i in $(find /lib/terminfo/ -type f -printf "%f\n"); do echo; echo $i; for j in {0..63}; do echo "kf$j $(tput -T$i kf$j|hexdump -e '"" 8/1 "'\''%_c'\'' " "\n"')"; done; done|less –  Paused until further notice. 13 November 2009 в 16:32
  • 3
    " не obvious" - кроме kf1 + 12 = kf13 (+ 12 = kf25) (+ 12 = kf37), где клавиатуры компьютера обычно имеют 12 функциональных клавиш. –  Paused until further notice. 13 November 2009 в 16:36

Теги

Похожие вопросы