В Windows я раньше связывал Ctrl+Left с Home и Ctrl + Право Закончиться через ahk.
Теперь я изо всех сил пытаюсь достигнуть этого поведения в Ubuntu. Я попытался редактировать /etc/inputrc
:
"\e[1;5C": end-of-line
"\e[1;5D": beginning-of-line
Это работает, но только в окне терминала. Я также попробовал xmodmap:
xmodmap -e "keycode 113=Left NoSymbol Home"
но это не работает.
Странная вещь здесь состоит в том, что, если я связываю для Смещения + Левый в xmodmap, он работает:
xmodmap -e "keycode 113=Left Home"
Мое предположение здесь - то, что поведение по умолчанию Ctrl + Левый (пропускают слова) так или иначе получает приоритет над xmodmap привязкой.
Где я могу найти, где привязка по умолчанию расположена и как удалить его? Или, возможно, я мог просто связать необходимое поведение там?
Я нахожусь на Ubuntu 12.04
Я использую клавиатуру алюминия Apple на рабочей станции Ubuntu, и следующие команды xmodmap сделали это для меня:
# remap Ctrl_L to ModeSwitch, then use it to map arrow keys so that
# they act like on the MacBook keyboard with Fn key pressed
xmodmap -e "keycode 37=Mode_switch"
xmodmap -e "keycode 113 = Left NoSymbol Home"
xmodmap -e "keycode 114 = Right NoSymbol End"
xmodmap -e "keycode 111 = Up NoSymbol Prior"
xmodmap -e "keycode 116 = Down NoSymbol Next"
Это работает отлично, потому что моя клавиша Caps Lock повторно отображается на Функции управления с помощью предпочтений клавиатуры Ubuntu, таким образом, левая Клавиша CTRL не нужна. Так как это расположено, где ключ Fn найден на клавиатуре MacBook, переключающийся между рабочим столом и клавиатурами MacBook не влияет на память мышц.
AutoKey может сделать привязку как это, но он требует выполнения сервиса в фоновом режиме (как ahk, но в отличие от xmodmap).
Настройте "фразу", где текст <home>
, метод вклеивания Keyboard
, и горячая клавиша <ctrl>-<left>
:
Автоключ работал на меня. Автоключевое поведение по умолчанию было бы: отобразите и исправьте ctrl+arrow и оставленный ctrl+arrow. И я хотел только право ctrl, потому что я использовал оставленный ctrl для навигации по словам.
Вот сценарий, который я использовал в Автоключе:
output = system.exec_command('xinput query-state "AT Translated Set 2 keyboard" | grep down', getOutput=True)
# 105 is right ctrl
if 'key[105]=down' in output:
keyboard.send_keys('<end>')
else:
keyboard.send_keys('<ctrl>+<right>')
Примечание: у Вас могло бы быть другое название клавиатуры. Попробуйте всех их. У меня было 3 устройства, но только один работал
xinput list --name-only | grep -i keyb
Virtual core keyboard
Virtual core XTEST keyboard
AT Translated Set 2 keyboard
P.S. Я установил Автоключ от GitHub, потому что пакет в программном обеспечении Ubuntu повреждается.