LINUX.ORG.RU

Сломались иксы. Точнее - сканкоды стрелочек, PgUp/PgDn/Home/End/etc...


0

0

Сабж. Работает всё, кроме клавиш с расширенными сканкодами. Скажем, стрелки на нампаде работают, а те, что перевёрнутой буквой T - нет.

Ошибка возникла, когда экспериментировал с новым ATI-драйвером. С тех пор откатился на старый, обновил иксы, пересобрал пакеты xf86-input-keyboard, всё, что с /usr/share/X11/xkb/rules связно, экспериментировал с разными раскладками - всё пофиг. Расширенные сканкоды иксы трактуют по-своему. Скажем, PgUp - это "/", PgDn - "Menu" и т.п.

В консоли же с этим всё ок.

Куда дальше ковырять, есть мысли? :)

★★★★★

Re: Сломались иксы. Точнее - сканкоды стрелочек, PgUp/PgDn/Home/End/etc...

Да, в логах всё чисто, ошибок нет.

KRoN73 ★★★★★ ()

Re: Сломались иксы. Точнее - сканкоды стрелочек, PgUp/PgDn/Home/End/etc...

Раскопал. Расширенные кнопки умирают после выполнения

setxkbmap -model geniuscomfy2 -layout us,ru -option grp:caps_toggle,compose:rwin

Пересборка setxkbmap не помогла :-/

KRoN73 ★★★★★ ()

Re: Сломались иксы. Точнее - сканкоды стрелочек, PgUp/PgDn/Home/End/etc...

1. Проверять выхлоп xev

2. Посмотреть, не используете ли случайно evdev вместо kbd

svu ★★★★★ ()

Re: Сломались иксы. Точнее - сканкоды стрелочек, PgUp/PgDn/Home/End/etc...

# xev
bash: xev: команда не найдена

>Посмотреть, не используете ли случайно evdev вместо kbd

В конфиге указано:

Section "InputDevice"
    Identifier  "Keyboard0"
    Driver      "kbd"
    Option      "AutoRepeat" "250 30"
    Option      "XkbModel" "geniuscomfy2"
    Option      "XkbLayout" "us,ru"
    Option      "XkbOptions" "grp:caps_toggle,compose:rwin"
EndSection

evdev заюзан для мыши. И тот, и другой сегодня
для профилактики пересобирал, не помогло :)

Вот выхлоп:

# setxkbmap -v 10
Setting verbose level to 10
locale is C
Applied rules from xorg:
model:      geniuscomfy2
layout:     us,ru
options:    grp:caps_toggle,compose:rwin,compose:rwin,grp:caps_toggle,altwin:super_win
Trying to build keymap using the following components:
keycodes:   xfree86+aliases(qwerty)
types:      complete
compat:     complete+ledcaps(group_lock)
symbols:    pc+us+inet(geniuscomfy2)+ru:2+altwin(super_win)+group(caps_toggle)+compose(rwin
)
geometry:   pc(pc104)

KRoN73 ★★★★★ ()

Re: Сломались иксы. Точнее - сканкоды стрелочек, PgUp/PgDn/Home/End/etc...

Со времён бяк с раскладками в KDE, у меня настройка раскладки, compose и т.п. была через отдельный файлик с setxkbmap. Собственно, отключение его загрузки и обнаружило работоспособность расширенных клавиш без setxkbmap и облом с ними после оного.

Попробовал включить раскладку средствами Gnome - получился очень интересный эффект. Что-то вроде того, что те же стрелки обрабатываются как два символа. Правильный и неправильный. Например, жмём стрелку вверх, курсор в MC перемещается на позицию вверх и вызывается PrtScr. После setxkbmap - опять только неправильная реакция, один PrtScr :)

KRoN73 ★★★★★ ()

Re: Сломались иксы. Точнее - сканкоды стрелочек, PgUp/PgDn/Home/End/etc...

>Проверять выхлоп xev

Вот что оно на PgUp выдаёт:

KeyPress event, serial 30, synthetic NO, window 0x3e00001,
    root 0x89, subw 0x0, time 1128209, (63,-12), root:(1438,498),
    state 0x0, keycode 117 (keysym 0xff67, Menu), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 30, synthetic NO, window 0x3e00001,
    root 0x89, subw 0x0, time 1128281, (63,-12), root:(1438,498),
    state 0x0, keycode 117 (keysym 0xff67, Menu), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

Мне это ничего не говорит :)

KRoN73 ★★★★★ ()

Re: Сломались иксы. Точнее - сканкоды стрелочек, PgUp/PgDn/Home/End/etc...

Т.е., пардон, это PgDn был. На PdUp:

KeyPress event, serial 30, synthetic NO, window 0x4200001,
    root 0x89, subw 0x0, time 1275603, (-470,477), root:(697,885),
    state 0x0, keycode 112 (keysym 0xffaf, KP_Divide), same_screen YES,
    XLookupString gives 1 bytes: (2f) "/"
    XmbLookupString gives 1 bytes: (2f) "/"
    XFilterEvent returns: False

KeyRelease event, serial 30, synthetic NO, window 0x4200001,
    root 0x89, subw 0x0, time 1275675, (-470,477), root:(697,885),
    state 0x0, keycode 112 (keysym 0xffaf, KP_Divide), same_screen YES,
    XLookupString gives 1 bytes: (2f) "/"
    XFilterEvent returns: False

KRoN73 ★★★★★ ()

Re: Сломались иксы. Точнее - сканкоды стрелочек, PgUp/PgDn/Home/End/etc...

>2. Посмотреть, не используете ли случайно evdev вместо kbd

Всё, спасибо за хинт, действительно какая-то заморочка с evdev была. Хоть и указан был kbd, но стоило снести полностью пакет xf86-input-evdev, как тут же всё заработало.

KRoN73 ★★★★★ ()

Re: Сломались иксы. Точнее - сканкоды стрелочек, PgUp/PgDn/Home/End/etc...

я обратным путем пошел, делаю теперь setxkbmap -model evdev. не считая одной мааленькой заморочки с group:lwin_shift, все работает.

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