Моята цел е да настроя терминал, в който програмата за интерфейс на командния ред да се държи според очакванията за въвеждането от клавиатурата (програмата е написана на xharbour първоначално за Windows, но сега бих искал да я пренеса към linux). Избрах xterm за начало, тъй като е по-просто, няма нужда да деактивирате клавишните комбинации на терминала по подразбиране.
С putty повечето герои работят добре, а за тези, които не, използвам autohotkey, ahk скрипт и това върши работа. Например за Ctrl+F1: ^F1::SendInput ^[O5P
Опитах и модифицирах, прекомпилирах terminfo, промених го и промених типовете клавиатури, но не успях да постигна отговор ^[O5P за натискане на Ctrl+F1 в терминала. Ако знаете някакъв начин да направите тази промяна, моля, кажете ми... Прочетох стотици страници, които уж правят това, но всички тези промени не доведоха до никакъв ефект или не доведоха до очаквания ефект.
Така че оставих да се опитвам да променя настройките на терминала, за да постигна целта си от Ctrl+F1 до ^[O5P, и опитах някои команди и програми, които биха направили нещо подобно на autohotkey:
xmodmap
, но за клавишни комбинации не работиxdotool
windowactivate xyz type ^[O5P, това връща символните кодове на отделните знациxmacro
, не изпраща натискания на клавиши към друг прозорецironahk
, получавам грешка още в началото при опит да изпълня example.ahk и не можах да намеря командите, които исках в лекото му ръководство.bind '\e[1;5P":"\e[O5P"'
, тук първият ключов код е това, което получавам в момента, когато напиша ctrl+f1 и след този, който искам да получа с тази комбинация. Без ефект.xbindkeys
+xvkbd
, също не помогна.
Моля, помогнете ми, ако вече знаете, успяхте ли по някакъв начин да постигнете това (променете кода на ключа, върнат за комбинация от клавиши).
Използвам най-новите CentOS и Ubuntu за тестване.
/etc/X11/app-defaults/
за конфигурация за цялата система или$HOME/.Xresources
или$HOME/.Xdefaults
за индивидуална потребителска конфигурация. Ако го поставите на правилното място (което и да е за Centos), файлът ще бъде зареден в началото на вашата X сесия и можете да го презаредите по средата на сесия сxrdb -merge filename
- person Alan Curry   schedule 07.08.2012-xrm
опция. Използване на малка част от примерния файл за демонстрация:xterm -xrm 'XTerm.VT100.translations: #override Ctrl<Key>Left: string(0x1b) string("b") \n Ctrl<Key>Right: string(0x1b) string("f")'
- person Alan Curry   schedule 07.08.2012