Problem
I'm using Lenovo Yoga 3 14 and when I open it at a certain angle (between 135 and 180 degrees) its keyboard and mouse becomes unresponsive / freezes. It is not a total freeze however - they unfreeze from time to time or repeat the last action hundred times.
How can I disable this feature which keeps disabling my input devices?
Details
General
The laptop operates well when open like this (~ 120 degrees).
The problems start when I open it at 135 or more degrees:
Here are the videos showing how it feels like to use keyboard and mouse then. It takes about 5 seconds before the keyboard and trackpad disablement kick in.
- The mouse lags and freezes back and forth: https://www.youtube.com/watch?v=bKynOx6Vdiw
- The keyboard freezes at some point and then repeats the last pressed key for a while before freezing (forever?): https://www.youtube.com/watch?v=CxMQrWHeEbo
Everything is back to normal when I open the laptop past 180 degrees (which is quite stupid as this is when I actually enter either tent or tablet mode).
The laptop itself does not freeze, just the keyboard and the mouse. The touchscreen works as well.
Is it OS-dependant?
I've experienced this behavior in:
- Ubuntu 16.10 and Ubuntu 17.04 in both Unity 7 and dwm
- FreeBSD 12-CURRENT in both the console and dwm
which suggests that it is either not that much OS-specific or both Ubuntu and FreeBSD have got some really bad drivers inside their kernels.
It is worth noting however that this issue happens much less often on FreeBSD. In fact, I can have my laptop as wide open as I want and the freeze happens only from time to time (once a week or so). In contrast to Ubuntu where it happens all the time even if the screen is only open at about 100 degrees.
Tracking it down with xev, xinput and xdotool
I've tried to track down the signal causing the machine to disable the touchpad and the keyboard using xev and others but it didn't show anything. The X server thinks that those input devices are fine and enabled all the time. This it not surprising as the freeze occurs when the X server is not running.
ACPI
acpi_listen does not print anything when it happens.
BIOS
There is no option in BIOS to disable this feature.
Disable using Lenovo pre-installed software
I guess that this is a Lenovo feature which ought to disable keyboard and touchpad when a user switches to tablet mode. Maybe on Windows this features is handled working fine (the last time I tried it wasn't really) or at least there is a way to disable it with some Lenovo pre-installed software. I have not found anything for Linux though.
Embedded Controller
I pressed the power button for 8 seconds in order to reset the EC but it didn't help. I've not tried yet to discharge the battery completely to reset the EC.
References:


