
Я хотел бы запустить скрипт bash при нажатии Caps Lock в KDE5. У меня это прекрасно работало в KDE4. Я могу легко назначить Caps Lock в качестве триггера для команды в system settings -> shortcuts -> custom shortcuts
, но это просто не работает.
Есть несколько опций в system settings -> input devices -> keyboard -> advanced
разделе "Поведение клавиши Caps Lock", но все они довольно специфичны, например, использование Caps в качестве дополнительной клавиши-модификатора. Отключение также фактически отключает его полностью, а не просто отключает функциональность Caps, что является проблемойэтот подход.
Есть ли способ правильно переназначить ограничения?
решение1
Не самое оптимальное решение, но сопоставление Caps Lock с другой клавишей, например, 'F22', xmodmap
позволяет пользовательским сочетаниям клавиш KDE захватывать Caps Lock. Затем отключите функциональность Caps:
Добавить в ~/.Xmodmap
:
! May need the following line. On ubuntu this seems to cause an error.
! remove Lock = Caps_Lock
keycode 66 = F22
clear Lock
(Запустить xmodmap ~/.Xmodmap
для немедленного анализа, а не для повторной регистрации)
Не уверен, нужны ли обе линии блокировки, но я уже потратил на это достаточно времени.
Использование setxkbmap
тоже работает, но не имеет удобства .Xmodmap
. Я пробовал вставлять его в ~/.bash_profile
, хотя там это, похоже, не работает. Я подозреваю, потому что KDE подключается и снова включает Caps Lock после его запуска.
setxkbmap -option ctrl:nocaps
xmodmap -e "keycode 66 = F22"