Как предотвратить эффект переключения колпачков, без переназначения или отключения его?

У меня есть программа X11, которая захватывает cap-lock и использует ее. Проблема в том, что я хочу отключить обычное переключение кеш-блокировок, но, похоже, это отключает ключ.

Таким образом, независимо от того, что X11 получает за нажатие клавиши блокировки, он все равно должен получать (не отключать ключ или переназначать его на какой-либо другой ключ), но без каких-либо изменений нажатия клавиш в шапку (который может быть на уровне ядра? ).

Я попытался изменить scancode, но это просто переделало ключ. Я также удалил запись с помощью xmodmap , но также отключил кепки.

Как я могу сказать ядру игнорировать кеп-ключ (по его обычной функции), но все равно передать сообщение X?

Просто добавим немного подробней:

«Программа», которую я пытаюсь запустить, гуманизирована «enso». Когда нет ключа, я получаю сообщение об ошибке «CRITICAL: root: Не удалось найти ключ квазимода». Когда нет ошибки, я могу использовать enso с шапками, но sofar не выяснил, как отключить функциональные возможности кешков, в то время как enso все еще может это получить.

3 Solutions collect form web for “Как предотвратить эффект переключения колпачков, без переназначения или отключения его?”

Я думаю, что у меня есть способ отключить переключение ключа Capslock, но не полностью отключить ключ все вместе или переназначить его на другой ключ на клавиатуре.

Если вы используете команду:

 setxkbmap -option caps:none 

Клавиатура больше не будет переключаться. Я подтвердил это на своем ноутбуке, работающем на Fedora 14, светодиод больше не загорается, и нормальная функциональность Capslock не прошла.

Однако использование xev по-прежнему показывает, что клавиша нажата:

 $ xev ... ... KeyPress event, serial 35, synthetic NO, window 0x6800001, root 0xb1, subw 0x0, time 261504852, (167,-15), root:(353,268), state 0x10, keycode 66 (keysym 0xffffff, VoidSymbol), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyRelease event, serial 35, synthetic NO, window 0x6800001, root 0xb1, subw 0x0, time 261504971, (167,-15), root:(353,268), state 0x10, keycode 66 (keysym 0xffffff, VoidSymbol), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False ... 

Таким образом, ключевые нажатые события по-прежнему остаются нетронутыми для других приложений, чтобы забрать их.

setxkbmap

Файл /usr/share/X11/xkb/rules/xorg.lst содержит полный список параметров, которые вы можете предоставить setxkbmap .

Грепируя через этот файл для «cap», я заметил эту строку:

 caps:none CapsLock is disabled 

В этом файле есть другие значения, поэтому, если это не то, что вы после, возможно, вместо одного из этих альтернативных значений.

 $ grep cap /usr/share/X11/xkb/rules/xorg.lst grp:caps_switch CapsLock (while pressed), Alt+CapsLock does the original capslock action grp:caps_toggle CapsLock grp:shift_caps_toggle Shift+CapsLock grp:shift_caps_switch CapsLock (to first layout), Shift+CapsLock (to last layout) grp:alt_caps_toggle Alt+CapsLock lv3:caps_switch CapsLock lv3:caps_switch_latch CapsLock (chooses 3rd level, latches when pressed together with another 3rd-level-chooser) ctrl:nocaps Make CapsLock an additional Ctrl ctrl:swapcaps Swap Ctrl and CapsLock grp_led:caps CapsLock caps CapsLock key behavior caps:internal CapsLock uses internal capitalization. Shift "pauses" CapsLock caps:internal_nocancel CapsLock uses internal capitalization. Shift doesn't affect CapsLock caps:shift CapsLock acts as Shift with locking. Shift "pauses" CapsLock caps:shift_nocancel CapsLock acts as Shift with locking. Shift doesn't affect CapsLock caps:capslock CapsLock toggles normal capitalization of alphabetic characters caps:numlock Make CapsLock an additional NumLock caps:swapescape Swap ESC and CapsLock caps:escape Make CapsLock an additional ESC caps:backspace Make CapsLock an additional Backspace caps:super Make CapsLock an additional Super caps:hyper Make CapsLock an additional Hyper caps:shiftlock CapsLock toggles Shift so all keys are affected caps:none CapsLock is disabled compose:caps CapsLock shift:breaks_caps Shift cancels CapsLock shift:both_capslock Both Shift-Keys together toggle CapsLock shift:both_capslock_cancel Both Shift-Keys together activate CapsLock, one Shift-Key deactivates 

Рекомендации

  • Отключить Caps Lock и переназначить меню на Super_R с помощью xmodmap больше не работает
  • Отключить и включить Caps Lock в Ubuntu
  • Отключить ключ Caps Lock в Linux
  • Клавиатура – изменение или отключение Caps Lock

Если вы не хотите, чтобы ключ Caps Lock имел обычный эффект, вы можете отключить модификатор Lock , сохраняя при этом Caps_Lock Caps_Lock.

 xmodmap -e 'clear Lock' 

Это очень похоже на ответ, который я дал для другого вопроса . Этот фрагмент кода xkb должен сделать трюк.

 partial modifier_keys xkb_symbols "capsoff" { key <CAPS> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Caps_Lock ], actions[Group1] = [ NoAction() ] }; }; 
  • Команды SM- * не распознаются Emacs
  • Где применять xmodmap для системного использования?
  • это аппаратное ограничение клавиатуры?
  • Состояние ключа переключения Fn
  • Не удалось найти ключевой код для клавиши громкости на клавиатуре Apple.
  • OpenSUSE - беспроводная клавиатура Apple - переключатель «fn» и «ctrl»?
  • мертвый ключ после переключения двух клавиш с помощью xmodmap
  • Как переназначить комбинацию клавиш на ключ?
  • ~ / .xinitrc и элемент запуска Xmodmap не вступают в силу при запуске в монетном дворе 17.3
  • Перенастройка cap-lock для выхода и меню для создания на консоли linux
  • Включить NumLock при запуске?
  • Interesting Posts

    Отменить параметр, используемый в команде aliased?

    Есть ли какое-нибудь приложение слайд-шоу CLI / терминала?

    Какая самая «правильная» точка монтирования для постоянного раздела NTFS?

    Debian Linux: запуск / запуск приложения / процесса в другом виртуальном терминале

    Могу ли я изменить выходной формат «последней» команды для отображения года?

    как выполнять административные команды без sudo?

    Как я могу отлаживать трафик в коммутируемой сети с помощью Wireshark?

    Внедрить сетевой мост в качестве пользовательской программы?

    Каково имя автоудара в Linux Mint

    Как сделать настройки xkb после перезагрузки

    Есть ли что-то важное в / var?

    sudo: пароль запрашивается, даже если NOPASSWD установлен

    Cron job – разрешено создание файла

    Объедините в PDF первую страницу нескольких файлов odt в алфавитном порядке

    Как доказать, что интерпретатор есть / bin / bash при вызове cron

    Linux и Unix - лучшая ОС в мире.