Re: xkb per-user config and hotplug issues
16:35 Wed 02 May , Alexander GQ Gerasiov wrote:
> Всем привет.
>
> Наткнулся я тут на компьютер, у которого с некоторой периодичностью
> отваливается и переподключается клавиатура.
>
> И внезапно обнаружил, что мир изменился.
>
> Итак, если я правильно понимаю, теперь всё работает так.
>
> При старте иксов или при подключении нового устройства, input-evdev,
> который отвечает за клавиатуры, берет для него настройки xkb от udev'а.
>
> udev же их получает из /etc/default/keyboard
>
>
> Пользователь, конечно, может попробовать всё переопределить потом при
> помощи setxkbmap, но вот только действовать это будет ровно до тех пор,
> пока клавиатура не будет отключена/подключена.
>
>
> Подозреваю, что во всяких гномах/кедах есть умные неонки, которые при
> подключении клавиатуры умеют автоматом их перенастраивать в
> соответствии с пользовательскими пожеланиями.
>
> Что делать простым смертным? Как задать собственные настройки xkb,
> чтобы они автоматом устанавливались для подключаемой клавиатуры?
> (Речь само-собой про per-user настройки, потому что пользователей у
> меня много разных и кто-то любит capslock, кто-то ralt, а кто-то вообще
> alt+shift.)
У меня похожая проблема, но только отключение/подключение клавиатуры связано
с выгрузкой/загрузкой usb модулей при hibernation. Чтобы решить эту проблему
я писал небольшой скриптик на питоне (он корявый, я знаю)
http://www.tataranovich.com/public/scripts/xkbmapd.py
Для его работы нужен DBus. Слушаются сообщения от UPower (обнаружение просыпания)
и ConsoleKit (переключение пользователей). В моем случае настройки берутся из
~/.Xkbmap
В вашем случае будет логично ловить сообщения от udev (python-udev например).
Пакость в том, что у меня не получилось применять настройки через setxkbmap в
неактивных пользовательских сессиях (для этого и нужен ConsoleKit)
--
WBR, Andrey Tataranovich
Reply to: