Как включить или отключить блокировку заглавных букв при переназначении клавиши Caps Lock?
У меня есть клавиатура Das, подключенная к ThinkPad под управлением Linux. По какой-то причине иногда Ubuntu требует, чтобы я перезапустил xmodmap
когда я разблокирую свой экран, который меняет мой ключ Caps Lock на Control, как я хочу. Это происходит так часто, что я обычно оставляю окно терминала открытым, где xmodmap
это последняя команда, которую я выполнил, поэтому я могу нажать ↑, а затем Enter, чтобы повторно запустить команду и исправить мою клавиатуру. К сожалению, иногда я забываю сделать это прямо сейчас, и я не замечаю, пока не использую клавишу Caps Lock и не обнаружу, что она забыла свое сопоставление с клавишей Control.
Сегодня был один такой день. К сожалению, я забыл снова нажать клавишу Caps Lock, чтобы отключить ее перед запуском xmodmap
(что, как описано, я делаю без ввода каких-либо символов, что предупредило бы меня о том, что заглавные буквы включены). Теперь Caps Lock включен, и у меня нет ключа, который я могу нажать, чтобы отключить его, потому что Caps Lock уже сопоставлен с Control. Я попытался выйти из системы и сразу же вернуться обратно, но, видимо, этого недостаточно, чтобы Ubuntu забыла сопоставление клавиш. (Кроме того, было трудно войти в систему, потому что я должен был не забыть удерживать клавишу Shift при вводе пароля.) Есть ли что-нибудь, что я могу запустить из командной строки, чтобы отменить это легко, вместо создания нового .xmodmap
файл, который отменяет сопоставления, добавленные моим текущим?
3 ответа
Вы можете запустить setleds -caps
Команда из консоли. Чтобы попасть в консоль, нажмите Ctrl+Alt+F1 и нажмите Ctrl+Alt+F7, чтобы вернуться туда, где вы были.
Я переназначил свой (совершенно бесполезный) Scroll Lock в качестве моего нового Caps Lock.
!!!
!!! For Dvorak and Qwerty
!!!
remove Lock = Caps_Lock
remove Lock = Scroll_Lock
remove Control = Control_L
keysym Scroll_Lock = Caps_Lock
keysym Caps_Lock = Control_L
add Lock = Caps_Lock
add Lock = Scroll_Lock
add Control = Control_L
Вы можете скопировать и вставить следующее в терминал (Ctrl
-Alt
-Del
в Ubuntu), чтобы отключить его:
python -c 'from ctypes import *; X11 = cdll.LoadLibrary("libX11.so.6"); display = X11.XOpenDisplay(None); X11.XkbLockModifiers(display, c_uint(0x0100), c_uint(2), c_uint(0)); X11.XCloseDisplay(display)'