[Решено] Lenovo ThinkPad E440, Ctrl_L+s маппится как Alt_L

Проблема в том, что Ctrl_L+s не работает ни в одном приложении.
Gnome'овская утилита для проверки раскладок показывает, что Ctrl_L+s обрабатывается как Alt_L.
Все прочие комбинации с Ctrl_L работают как полагается (Ctrl_L+x/c/v). Ctrl_R+s работает.

Вывод xev:
########### 'ctrl'-key pressed ##############

KeyPress event, serial 36, synthetic NO, window 0x1e00001,
    root 0x9d, subw 0x0, time 9545625, (271,87), root:(365,242),
    state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

########### 's'-key pressed #################

KeyPress event, serial 36, synthetic NO, window 0x1e00001,
    root 0x9d, subw 0x0, time 9546301, (271,86), root:(365,241),
    state 0x4, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

########### 's'-key released ################

KeyRelease event, serial 36, synthetic NO, window 0x1e00001,
    root 0x9d, subw 0x0, time 9546587, (271,86), root:(365,241),
    state 0xc, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyPress event, serial 36, synthetic NO, window 0x1e00001,
    root 0x9d, subw 0x0, time 9546587, (271,86), root:(365,241),
    state 0x4, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyPress event, serial 36, synthetic NO, window 0x1e00001,
    root 0x9d, subw 0x0, time 9546587, (271,86), root:(365,241),
    state 0xc, keycode 107 (keysym 0xff15, Sys_Req), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x1e00001,
    root 0x9d, subw 0x0, time 9546587, (271,86), root:(365,241),
    state 0xc, keycode 107 (keysym 0xff15, Sys_Req), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x1e00001,
    root 0x9d, subw 0x0, time 9546587, (271,86), root:(365,241),
    state 0xc, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

########### 'ctrl'-key released ############

KeyRelease event, serial 36, synthetic NO, window 0x1e00001,
    root 0x9d, subw 0x0, time 9547320, (271,86), root:(365,241),
    state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

И сканкоды:
[[email protected] ~]$ sudo showkey --scancodes

# 'ctrl' pressed
0x1d
# 's' pressed
0x38
# 's' released
0xb8 0x38 0x54 0xd4 0xb8
# 'ctrl' released
0x9d

Т.е. вопрос в том, в сущности, как малой кровью замаппить последовательность сканкодов в hotkey.
Как я понимаю, можно исправить таблицу _и_ сканкодов, _и_ кейкодов, но это чересчур хардкодно и (пока) для меня сложновато.

P.S. Клавиши Fn и Ctrl свапнуты в BIOS. Не помню, работает ли комбинация с оригинальным расположением. Как проверю - обновлю пост.
P.P.S Уведомляю, что веду страницу на wiki со списком существующих проблем и методов их решения.
P.P.P.S Ув.администраторы форума, есть ли возможность добавить verbatim блоки для выделения ключевых слов и т.д., подобные существующим на английской странице Arch'а и MediaWiki?
спасибо, marlock за ссылку!
проблема решена с обновлением BIOS v.2.16 (http://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/j9uj16ww.txt).
порядок обновления добавлен на archwiki.
Хорошее дело делаешь (я про Wiki). У самого Arch + Awesome стоит на E540. Признаюсь честно некоторые вещи ни разу не однозначны : )
спасибо! :)
для меня вообще стало открытием, что многие вещи исправляются хаками с BIOS.
присоединяйтесь к движению, страницы на E540 нет :).

2) Add udev rule:

/etc/X11/xorg.conf.d/45-backlight.conf

ACTION=="add", KERNEL=="intel_backlight", SUBSYSTEM=="backlight", SUBSYSTEMS=="pci", DRIVERS=="i915", ATTR{brightness}="1846"

100% не правильно. Xorg не может иметь конфиг в таком формате :)
упс. udev, конечно же :)
Прикольная фича. Пока ты в Wiki не написал я и не думал что можно задать своё значение. Думал раз он подсветку на полную ставит при перезагрузке — так задумано.
У меня 2 вопроса пока.
Вот с этим как бороться:

[ 5.558928] thinkpad_acpi: Unsupported brightness interface, please contact [email protected]
И второй — ты смог fingerprint scaner нормально заставить работать?
с первым я смирился :). видимо, в разработке еще.

сканер пока не пробовал. как придумаю, зачем он мне нужен - буду разбираться
soupault
спасибо! :)
для меня вообще стало открытием, что многие вещи исправляются хаками с BIOS.
присоединяйтесь к движению, страницы на E540 нет :).

К сожалению у меня очень мало свободного времени. В основном по выходным и то, спонтанно.
 
Зарегистрироваться или войдите чтобы оставить сообщение.