alesya-h / linux_detect_tablet_mode

Detect if your laptop is in normal or tablet mode. Useful for Yoga laptops to disable keyboard/trackpoint/touchpad in a tablet mode
MIT License
137 stars 29 forks source link

Support for ENVY x360 #26

Closed acerspyro closed 2 years ago

acerspyro commented 2 years ago

Devices:

It seems like the method for detecting whether the device is in laptop, tent, kiosk or tablet mode isn't working, however I have tested and confirmed that the keyboard gets disabled on Windows 10 if the hinge goes past 180 degrees, so it is possible.

As of right now, the keyboard only gets disabled once the hinge reaches 360 degrees (tablet mode), but this seems to be a firmware thing as tablet mode is still not triggered on KDE or GNOME on Ubuntu and Fedora using Wayland.

Device orientation using hid-recorder works.

image

The thing is, changes to the hinge's position is not reflected in libinput debug-events, so it'll have to be fetched from elsewhere.

I have an HP ENVY x360 13 inch and an HP ENVY x360 15 inch (both from 2021) to test.

alesya-h commented 2 years ago

This project is not responsible for the hardware. It's just meant to add support for handling state transitions to lightweight desktop setups, that you have out of the box in GNOME and KDE. You might want to look at the older version of the project that used accelerometers (it's in the old directory of the project), but I am not sure it will help. Most likely someone would need to add support for those laptops in the kernel's input subsystem, so that correct input events are generated. That will make it work in GNOME and KDE, as well as in this script.