[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: