
Когда я переключаюсь на TTY и включаю Caps Lock, светодиод Caps Lock на моей клавиатуре не включается. На X все работает нормально. Когда я активирую Caps Lock, а затем переключаюсь на TTY и нажимаю Caps Lock (на TTY), светодиод остается включенным (хотя TTY отслеживает Caps Lock самостоятельно). Так что, похоже, TTY вообще не обращают внимания на светодиод.
Можно ли как-то включить светодиод на телетайпах? Очень раздражает, когда приходится что-то печатать, не зная, активирован ли Caps Lock.
Я использую Debian jessie (часто обновляется), архитектура: amd64
решение1
Это давний Debianошибка. Кажется, это связано с базовым ядромошибкачто уже давно исправлено. Проблема, похоже, была в том, что это Caps_Lock
не работало для не-ASCII символов, поэтому обходным решением было сопоставить Shift_Lock
или CtrlL_Lock
с клавишей Caps Lock.
На стороне Debian проблема создается с помощью , ckbcomp
которая используется console-setup
для создания раскладки клавиатуры консоли из описания клавиатуры XKB. Обратите внимание, что исходный код, указанный в отчете об ошибке using , Shift_Lock
похоже, был заменен другим кодом, который переключается на CtrlL_Lock
вместо этого. Если вам интересно, вы можете поискать использование переменной broken_caps
в ckbcomp
скрипте Perl.
Я понятия не имею, нужен ли этот код по какой-либо причине, возможно, стоит поднять отчет об ошибке. Однако обходной путь — вставить следующую строку, /etc/kbd/remap
и это должно исправиться после перезагрузки:
s/CtrlL_Lock/Caps_Lock/
Или для временного решения проблемы до следующей перезагрузки выполните в сеансе следующее tty
:
dumpkeys | sed s/CtrlL_Lock/Caps_Lock/ | sudo loadkeys
Обновлять
Кажется, что /etc/kbd/remap
это используется только если setupcon
недоступно. Лучший способ обойти это просто вставить следующую строку /etc/rc.local
:
dumpkeys | sed s/CtrlL_Lock/Caps_Lock/ | loadkeys
решение2
Я нашел решения для Debian 6 и Debian 7.
Дебиан 6
В конце файла поместите следующее /etc/console-setup/remap.inc
:
keycode 58 = Caps_Lock
Тогда бегиsetupcon
Дебиан 7
В конце скрипта добавьте следующее /etc/default/keyboard
:
dumpkeys | sed -e "s/keycode 58 = CtrlL_Lock/keycode 58 = Caps_Lock/" | \
loadkeys 2>&1 >/dev/null
Тогда бегиsetupcon
Обратите внимание, что между кодом клавиши и 58 есть два пробела. Перенаправление /dev/null
просто подавляет раздражающий вывод на консоль.