mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2026-03-22 02:10:40 +01:00
evdev: don't suspend keyboard on ThinkPad X1 Yoga 1st in tablet mode
When the X1 Yoga is in tablet mode, one capacitative touch button (windows key, sends KEY_LEFTMETA) and two side volume buttons are accessible on the front. The key event comes through the internal keyboard that we disabled in tablet mode so it stops working. Luckily the Yoga physically disables the "main" keyboard when in tablet mode, so all we have to do is skip our code to disable the keyboard and the keys are working again. https://bugs.freedesktop.org/show_bug.cgi?id=103749 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
5aec854ac3
commit
5feaa5f00c
4 changed files with 10 additions and 0 deletions
|
|
@ -1174,6 +1174,9 @@ fallback_keyboard_pair_tablet_mode(struct evdev_device *keyboard,
|
|||
(EVDEV_TAG_TRACKPOINT|EVDEV_TAG_INTERNAL_KEYBOARD)) == 0)
|
||||
return;
|
||||
|
||||
if (keyboard->model_flags & EVDEV_MODEL_TABLET_MODE_NO_SUSPEND)
|
||||
return;
|
||||
|
||||
if ((tablet_mode_switch->tags & EVDEV_TAG_TABLET_MODE_SWITCH) == 0)
|
||||
return;
|
||||
|
||||
|
|
|
|||
|
|
@ -1284,6 +1284,7 @@ evdev_read_model_flags(struct evdev_device *device)
|
|||
MODEL(TABLET_NO_PROXIMITY_OUT),
|
||||
MODEL(MS_NANO_TRANSCEIVER),
|
||||
MODEL(TABLET_NO_TILT),
|
||||
MODEL(TABLET_MODE_NO_SUSPEND),
|
||||
#undef MODEL
|
||||
{ "ID_INPUT_TRACKBALL", EVDEV_MODEL_TRACKBALL },
|
||||
{ NULL, EVDEV_MODEL_DEFAULT },
|
||||
|
|
|
|||
|
|
@ -128,6 +128,7 @@ enum evdev_device_model {
|
|||
EVDEV_MODEL_TABLET_NO_PROXIMITY_OUT = (1 << 27),
|
||||
EVDEV_MODEL_MS_NANO_TRANSCEIVER = (1 << 28),
|
||||
EVDEV_MODEL_TABLET_NO_TILT = (1 << 29),
|
||||
EVDEV_MODEL_TABLET_MODE_NO_SUSPEND = (1 << 30),
|
||||
};
|
||||
|
||||
enum evdev_button_scroll_state {
|
||||
|
|
|
|||
|
|
@ -238,6 +238,11 @@ libinput:keyboard:input:b0003v17EFp6047*
|
|||
libinput:name:*ALPS TrackPoint*:svnLENOVO:*:pvrThinkPadX280:*
|
||||
LIBINPUT_ATTR_TRACKPOINT_RANGE=70
|
||||
|
||||
# Lenovo Thinkpad X1 Yoga disables the keyboard anyway but has the same device
|
||||
# use a windows key on the screen and volume rocker on the side (#103749)
|
||||
libinput:name:AT Translated Set 2 keyboard:dmi:*svnLENOVO:*pvrThinkPadX1Yoga1st:*
|
||||
LIBINPUT_MODEL_TABLET_MODE_NO_SUSPEND=1
|
||||
|
||||
##########################################
|
||||
# Logitech
|
||||
##########################################
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue