LINUX.ORG.RU

Debian Lenny, ru_RU.UTF-8, глючит caps lock


0

0

Debian Lenny, X11 не установлен (пока нет нужны, ботаю POSIX).
Локаль ru_RU.UTF-8.
Переключение ru/en по правому alt, без временного переключателя.

1. Из коробки для настройки русского языка стоял пакет console-cyrillic.
dpkg-reconfigure console-cyrillic помог мне настроить русский язык, по caps lock не работал в принципе.

2. Снес console-cyrillic: apt-get remove console-cyrillic,
поставил console-setup: apt-get install console-setup.
Настроил его dpkg-reconfigure console-setup.
После этих несложных манипуляций у меня заработал caps lock, НО в странном режиме.

Когда caps lock выключен, то все ок - по alt переключение ru/en.

Когда caps lock включен, то переключение по alt уже не работает?!!
Выключаю caps lock - опять работает...

Как и где это лечить?
Мое ковыряние в /etc, /proc, /sys не дало успеха, плохо я знаком с процессом работы клавиатуры и локализации в Linux (пока плохо, но это поправимо).

Ответ на: комментарий от SunBurn

RE: Пакет locales-all стоит?

Стоял просто locales.
Поставил locales-all, не помогло.
Судя по описанию просто добавилось больше локалей, но проблема осталась.
Видимо надо ковырять в сторону настройки клавиатуры...
Но где лежит информация о клавиатуре, ее поведении, ее кеймап?

microprogs
() автор топика
Ответ на: RE: Пакет locales-all стоит? от microprogs

Еще одна особенность

Еще одна особенность:
если нажать alt + caps_lock, то данный tty больше не отвечает на запросы клавиатуры =)
Помогает только kill -9 pid выполненный из соседнего tty ?!

microprogs
() автор топика
Ответ на: Еще одна особенность от microprogs

> Помогает только kill -9 pid выполненный из соседнего tty ?!

Попробуйте ещё Alt+SysRq+K (прибить все процессы на данной консоли). Это сочетание клавиш перехватывается ядром и обязано работать почти всегда.

AITap ★★★★★
()
Ответ на: комментарий от AITap

2 AITap: Спасибо за совет, работает, учту в будущем, натолкнул на чтение про sysrq:
http://www.kernel.org/doc/Documentation/sysrq.txt

Но главная проблема остается.

По главной проблеме:
Добавлю еще к вышесказанному:
1. Не горит светодиод caps_lock
2. При включенном caps_lock консоль виснет не только по alt + caps_lock,
но и по alt + shift. (в обоих случаях глюк только при правом alt).
Других сочетаний «вешающих» текущий tty пока не заметил.
3. Это одинаковое поведение на двух разных ноутах.

microprogs
() автор топика
Ответ на: комментарий от microprogs

Не горит caps lock

Причем если использовать alt + shift для переключения ru/en, тогда все прекрасно работает.
Языки переключаются при включенном/выключенном caps lock, но светодиод caps lock по-прежнему не горит при включенном caps lock.

Где и в каких конфигах/сурцах искать описание поведения caps lock?
По идее должно быть место где после нажатия caps lock происходит собственно обработка клавиши и зажигание светодиода.

Я бы использовал что-то похожее на setleds -L +caps, для зажигания светодиода, только где это использовать, где это место?

microprogs
() автор топика
Ответ на: Не горит caps lock от microprogs

Вот читаю
zcat /usr/share/doc/console-setup/FAQ.gz | more
в частности пункт 2.3

Там пишут, что это грабли в ядре, и Caps Lock при локали на UTF-8 не «капитализирует» не ASCII-символы, поэтому они используют Shift_Lock...

Попробовал юзать локаль ru_RU.CP1251 Caps Lock работает как часы, «капитализация» и LED работают.

Но юзать однобайтовых уродцев вместо UTF-8 - это не арийское поведение.

Пробовал ставить Debian Squeeze Testing - те же грабли...

Пошаманил в файлах:
/etc/default/console-setup
/etc/default/keyboard
/etc/console-setup/cached.kmap.gz

по дефолту на кейкод 58 стоял CtrlL_Lock, если его менять на Caps_Lock, то LED горит, но не ASCII-символы не «капитализируются»...

Если поставить на место CtrlL_Lock, то тогда все символы «капитализируются», но LED не горит...

Получается нет простого решения, кроме как:
1. Подождать пока в kernel и loadkeys не исправят баги.
2. Написать прогу, которая будет в фоне перехватывать Caps Lock и зажигать LED. Грязное решение.
3. Грязно отредактировать сурцы ядра и зажигать LED из ядра. Грязное решение.

Что нет других путей?

microprogs
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.