| h4tr3d |
|
|
Темы:
34
Сообщения:
2656
Участник с: 12 июля 2007
|
Ситуация, имею настроенную раскладку клавиатуры us,en, настройки в /etc/X11/xorg.conf.d/09-keymap.conf:Section "InputClass"
Identifier "evdev keyboard catchall"
MatchIsKeyboard "on"
Option "XkbModel" "evdev"
Option "XkbRules" "base"
Option "XkbLayout" "us,ru"
Option "XkbVariant" ",winkeys"
Option "XkbOptions" "grp:lwin_toggle,grp_led:scroll,compose:ralt,terminate:ctrl_alt_bksp"
EndSectionСитуация наблюдается такая: после запуска и перезапуска иксов всё работает отлично. Но, после какого-то времени появляется проблема: переключаюсь на русскую раскладку, а через несколько секунд она сбрасывается на US (при этом не важно, производится ввод или нет). xkbevd говорит примерно так: /// <LWIN> = 133;
XkbStateNotify event, serial 13, synthetic no, device 3, time 301104653,
keycode 133, eventType KeyPress,
group= 1*, base= 0, latched= 0, locked= 1*,
mods= 0x00, base= 0x00, latched= 0x00, locked= 0x00
grab mods= 0x00, compat grab mods= 0x00
lookup mods= 0x00, compat lookup mods= 0x00
compatState = 0x00, ptr_buttons= 0x0000
/// WTF???
XkbNewKeyboard event, serial 13, synthetic no, device 3, time 301107098,
new device: 3 min_keycode: 8, max_keycode 255
old device: 3 min_keycode: 8, max_keycode 255
/// <LCTL> = 37;
XkbStateNotify event, serial 13, synthetic no, device 3, time 301107100,
keycode 37, eventType KeyPress,
group= 0*, base= 0, latched= 0, locked= 0*,
mods= 0x04*, base= 0x04*, latched= 0x00, locked= 0x00
grab mods= 0x04*, compat grab mods= 0x04*
lookup mods= 0x04*, compat lookup mods= 0x04*
compatState = 0x04*, ptr_buttons= 0x0000Видим: переключатель LWIN, нажимаем, у маня руccкая раскладка (group=1). Через 2.5 секунды прилетает эвент XkbNewKeyboard, откуда он взялся, когда клавиатура ноутбучная и никуда не отключается. При этом id и номер такой же. Что-то в гугле по этому слову тихо как в танке с закрытой крышкой. После его прихода видим группу слетевшую в 0 (US) и почему-то нажата клавиша LCTRL. Временами прилетает SHIFT (keycode = 50). Меня это озадачивает. При этом никаких сторонних переключалок клавиатуры не используется. из работающих программ, пожалуй только xbindkeys, но он сам слушает клавиатуру, ничего не посылает. Opera, skype, psi+, claws-mail, wicd, liferea, osmo, xine (ингает инет-радио, онгда релаксирую глядя на его анимацию), eclipse/qtcreator Модель ноута EeePC 1000HA. С мыслями прошу сюда, без мыслей - впень :)
systemd должен умереть.
|
| h4tr3d |
|
|
Темы:
34
Сообщения:
2656
Участник с: 12 июля 2007
|
Гугл разбанил, материалы: http://www.xfree86.org/current/XKBlib.pdf со страницы 199 (в PDF) или 187 в оглавлении http://www.opensource.apple.com/source/ … /printev.c для любителей почитать код Судя по этому: Xkb provides an XkbNewKeyboardNotify event that reports a change in keyboard причина может крыться в какой-то лядской программе или баге в иксах. *xkb* хоть откатывай.
systemd должен умереть.
|
| h4tr3d |
|
|
Темы:
34
Сообщения:
2656
Участник с: 12 июля 2007
|
Программа-диверсант оказалась - xine. Теперь бы придумать багрепорт да воспроизвести проблему не только уменя. Ну, кто попробует? 0. настройки раскладки через xorg.conf (возможно и через setxkbmap) 1. Запустить плейлист на mp3 (не видео) 2. поставить плагин визуализации звука goom 3. запустить проигрывание 4. открыть терминал, запустить там программу xkbevd 5. переключиться на русскую раскладку: обратить внимание что группа в xkbevd переключилась 6. ждать до 10 сек, должен прилететь эвент XkbNewKeyboard и группа сброситься в 0, после чего раскладка должна свалиться в US
systemd должен умереть.
|