Блокировка заглушек без переключателей с помощью xkmodmap или xkb?

493
David Given

Есть ли способ настроить кнопку блокировки шапки, чтобы она не переключалась? Это значит, что он применяет только состояние блокировки заглавных букв, пока удерживается нажатым, а после освобождения все возвращается в нормальное состояние.

Предыстория:

Я модернизирую промышленную клавиатуру 1981 года в качестве устройства USB. Работает нормально - на самом деле я сейчас набираю текст.

KEYBOARD

Тем не менее, клавиша Caps Lock (обозначенная ALPHA LOCK на рисунке) является аппаратным защелкивающимся переключателем, поэтому, если я нажимаю его один раз, он устанавливает контакт и разрывает его только при повторном нажатии. С точки зрения компьютера это еще одна клавиша Shift.

Тем не менее, я не нашел способа настроить X для поддержки этого. Caps Lock всегда обрабатывается программным переключателем. В сочетании с аппаратным переключателем это означает, что я должен дважды нажать кнопку, чтобы включить или выключить Caps Lock, что не идеально. В идеале мог бы быть модификатор Caps Shift, который я мог бы использовать, но я не могу найти его в xmodmap, и я не слишком разбираюсь в xkb.

Кто-нибудь знает какие-либо настройки (хотя и скрытые), которые могут помочь здесь? Я мог бы просто сопоставить его с другой клавишей Shift, но это не дает правильного эффекта.

0

1 ответ на вопрос

2
DreadPirateLynx

Отредактируйте файл (как sudo)

/usr/share/X11/xkb/compat/basic 

и изменить

interpret Any+Lock { action= LockMods(modifiers=Lock); }; 

в

interpret Any+Lock { action= SetMods(modifiers=Lock); }; 

Затем выйдите из системы и вернитесь обратно. Я почти уверен, что все получится. Просто помните, что это изменит функцию каждой клавиши Caps Lock на каждой клавиатуре, подключенной к вашей системе. Можно ограничить это определенным устройством, но это немного выходит за рамки этого вопроса и потребует, чтобы вы немного лучше познакомились с файлами конфигурации xkb.

(Очень запоздало) Спасибо! Это было именно то, что я искал. David Given 6 лет назад 0
Кроме того, этот материал _documented_ где-нибудь? Я ничего не нашел ... David Given 6 лет назад 0