У меня есть программа X11, которая захватывает caps-lock и использует ее. Проблема в том, что я хочу отключить обычное переключение caps-lock, но, похоже, это отключает ключ.
Таким образом, что бы X11 ни получал за нажатие клавиши caps-lock, он все равно должен получить (без отключения ключа или переназначения его на какой-либо другой ключ), но без каких-либо преобразований нажатия клавиши в переключатель caps (который может быть на уровне ядра? ).
Я попытался изменить код сканирования, но это просто переназначило ключ. Я тоже удалил запись с заглавными буквами xmodmap
, но это также отключило заглавные буквы.
Как я могу сказать ядру игнорировать ключ caps (по сравнению с его обычной функциональностью), но все же передать сообщение X?
Просто чтобы добавить немного больше деталей:
«Программа», которую я пытаюсь запустить, является гуманизированной «enso». Когда ключа нет, я получаю сообщение об ошибке «CRITICAL: root: Не удалось найти ключ квазирежима». Когда ошибки нет, я могу использовать enso с заглавными буквами, но Софар не может понять, как отключить заглавные буквы, пока enso все еще может их найти.
setxkbmap -option ctrl:nocaps
переназначаетControl_L
, например.Ответы:
Я думаю, что у меня есть техника для отключения переключения Capslockклавиши, но не для полного отключения клавиши вместе или для переназначения ее на другую клавишу на клавиатуре.
Если вы используете команду:
Клавиатура больше не будет переключаться. Я подтвердил это на своем ноутбуке с Fedora 14, светодиод больше не горит, и нормальная Capslockфункциональность исчезла.
Однако использование xev по-прежнему показывает, что клавиша нажимается:
Таким образом, события нажатой клавиши по-прежнему остаются нетронутыми для других приложений, чтобы поднять их.
setxkbmap
Файл
/usr/share/X11/xkb/rules/xorg.lst
содержит полный список параметров, которые вы можете предоставитьsetxkbmap
.Пролистав этот файл для "шапки", я заметил эту строку:
В этом файле есть и другие значения, так что если это не то, что вам нужно, возможно, подойдет одно из этих альтернативных значений.
Ссылки
источник
setxkbmap -option ""
.Если вы не хотите, чтобы Caps Lockключ имел обычный эффект, вы можете отключить
Lock
модификатор, сохраняяCaps_Lock
keyym.источник
Это очень похоже на ответ, который я дал на другой вопрос . Этот фрагмент кода xkb должен помочь.
источник