LINUX.ORG.RU

Дополнительные кнопки на ThinkPad x230t

 ,


0

1

Девайс: ThinkPad x230t. Под дисплеем монитора ноутбука есть три кнопки: питания, гибернации, поворота экрана. Кнопка питания работает, а кнопки гибернации и поворота экрана – нет.

xinput, libinput, xbindkeys – эти кнопки не отображают, и никак на их нажатия не реагируют. Хотя в интернете есть статья, где автор пишет, что смог настроить эти кнопки с помощью xbindkeys, который у меня на эти кнопки не реагирует.

Как можно «оживить» эти кнопки? Может быть дело в каких-то драйверах?

Дистрибутив: «Альт Рабочая станция» 10.
Ядро: Linux version 5.10.164-std-def-alt1 (builder@localhost.localdomain) (gcc-10 (GCC) 10.3.1 20210703 (ALT Sisyphus 10.3.1-alt2), GNU ld (GNU Binutils) 2.35.2.20210110) #1 SMP Mon Jan 23 08:59:07 UTC 2023

Перемещено hobbit из general



Последнее исправление: hobbit (всего исправлений: 9)

Ответ на: комментарий от kostik87

АльтЛинукс воркстэйшн 10, скачанный с офиц. сайта.

Linux version 5.10.164-std-def-alt1 (builder@localhost.localdomain) (gcc-10 (GCC) 10.3.1 20210703 (ALT Sisyphus 10.3.1-alt2), GNU ld (GNU Binutils) 2.35.2.20210110) #1 SMP Mon Jan 23 08:59:07 UTC 2023

Cl_Magenta
() автор топика

У меня так не работали кнопки управления яркостью дисплея (Fn+F11/F12), причём до этого работали. Искал где они могли отключиться в биосе итд, не нашёл. Через год клава сдохла, поменял её и на новой эти кнопки вдруг заработали и стали стлать обычные клавиатурные события в иксы. Причём - Fn само по себе не ломалось, F11/F12 - тоже всегда работали.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 2)
Ответ на: комментарий от t184256

Как тестировать evtest? Он при запуске предлагает список устройств, но там нет того, что меня интересует:

No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:	AT Translated Set 2 keyboard
/dev/input/event1:	Video Bus
/dev/input/event2:	Lid Switch
/dev/input/event3:	Sleep Button
/dev/input/event4:	Power Button
/dev/input/event5:	ThinkPad Extra Buttons
/dev/input/event6:	HDA Digital PCBeep
/dev/input/event7:	HDA Intel PCH Mic
/dev/input/event8:	HDA Intel PCH Dock Mic
/dev/input/event9:	HDA Intel PCH Headphone
/dev/input/event10:	HDA Intel PCH Dock Headphone
/dev/input/event11:	HDA Intel PCH HDMI/DP,pcm=3
/dev/input/event12:	HDA Intel PCH HDMI/DP,pcm=7
/dev/input/event13:	SynPS/2 Synaptics TouchPad
/dev/input/event14:	Wacom ISDv4 E6 Pen
/dev/input/event15:	Integrated Camera: Integrated C
/dev/input/event16:	Wacom ISDv4 E6 Finger
/dev/input/event17:	TPPS/2 IBM TrackPoint
Cl_Magenta
() автор топика
Ответ на: комментарий от t184256

Хотя нет, что-то заработало, при выборе /dev/input/event0: AT Translated Set 2 keyboard.

При нажатии первой кнопки (гибернации):

Event: time 1700642462.333170, type 4 (EV_MSC), code 4 (MSC_SCAN), value 67

При нажатии кнопки поворота экрана:

Event: time 1700642530.308933, type 4 (EV_MSC), code 4 (MSC_SCAN), value 6c

Вообще там второе еще значение, при отжатии кнопки появляется, но там реально только цифра в time другая.

Дело сдвинулось с мертвой точки, кажется. Спасибо. Что дальше можно сделать?

Cl_Magenta
() автор топика
Последнее исправление: Cl_Magenta (всего исправлений: 4)
Ответ на: комментарий от t184256

Может быть ткнете пальцем на какую-нибудь статью, поясняющую как это сделать? Я так понимаю, вы предлагаете читать /dev/event0. Но моих познаний пока недостаточно для этого.

Cl_Magenta
() автор топика
Последнее исправление: Cl_Magenta (всего исправлений: 1)
Ответ на: комментарий от Cl_Magenta

Там познаний много не надо, открываешь да читаешь структурами события: type, code, value

https://gist.github.com/t184256/3234302966f64a0c9095c663cdc616cb - минимальный пример открытия и создания нового девайс, тебе ещё и половину оттуда не надо?

https://gist.github.com/t184256/f4994037a2a204774ef3b9a2b38736dc - аннотированный пример с наворотами

Офиц.дока: https://www.kernel.org/doc/html/v4.18/input/input_uapi.html

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)
Ответ на: комментарий от t184256

Решил провести переназначение клавиш способом описанным в статье АльтЛинукс, методом настройки HWDB.

# evtest
Input device ID: bus 0x11 vendor 0x1 product 0x1 version 0xab54

# nano /etc/udev/hwdb.d/20-kbd.hwdb

#bus 0x11 vendor 0x1 product 0x1 version 0xab54
evdev:input:b00011v001p001*
KEYBOARD_KEY_67=f14

^O^X

# systemd-hwdb -s update
/etc/udev/hwdb.d/20-kbd.hwdb:3: Property expected, ignoring record with no properties.
Cl_Magenta
() автор топика
Ответ на: комментарий от papin-aziat

Даже год назад было 19 человек. А сейчас так наверняка и побольше.

Кстати, опрос скоро надо будет повторить, только мультивыбор всё же нужен.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от hobbit

Ого, однако, возможно, приступ патриотизма отпустил, и теперь ясно, что кроме того демарша Шапки, больше резких движений не будет, и все вернулись на свои бубунты.

papin-aziat ★★★★★
()
Ответ на: комментарий от t184256

А то, что вместо 0/1 она репортит 67/6c это тоже чинит?

Не понял вопроса. Да, значения переменных выдает 67 и 6с.

Cl_Magenta
() автор топика
Последнее исправление: Cl_Magenta (всего исправлений: 1)