Keyboard not working in Linux

On a brand new MiniBook, I can’t get the built-in keyboard working in Linux (tried Ubuntu 18.04, 20.04 and the latest stable Debian release).

The keyboard works fine in the bios, bootloader and during linux installation process, but when booting the installed operating system, the keyboard is for some reason disabled.

Using an external keyboard works, and curiously, switching to a text-only console, the built-in keyboard works.

I guess there’s some strange mapping issue with Xorg somewhere, but I haven’t been able to figure it out.

Does anyone have a similar experience or solution?

Duplicateof problem :slight_smile:

Yes, I am pretty sure we are having the same problem. I found the cause of the problem, and a workaround solution:

It seems the subsystem that reports whether the laptop is in tablet mode or not always reports that it is in tablet mode. As a consequence, libinput will disable input events from the keyboard. I don’t know whether this is a driver issue or a hardware issue with our specific laptops, since I can’t find many references to the problem.

Either way, it is possible to fix it by enabling a “quirks” option in libinput. First create the directory “/etc/libinput”, and then create a file in that directory named “local-overrides.quirks”:

sudo mkdir /etc/libinput
sudo touch /etc/libinput/local-overrides.quirks

Now edit the file and paste the following:

[Tablet Mode Switch]
MatchName=*Intel Virtual Button*

Reboot the computer, or just restart Xorg, and keyboard input is working :slight_smile:

Hope it helps.

If someone from Chuwi could chime in, it would be nice. Obviously this is a bit of a workaround, and the tablet mode switch should be working better. Some additional info: While monitoring the tablet mode switch hardware with the evemu-record program, there is never any events happening from the tablet mode switch, so maybe it is indeed stuck in hardware for some reason, or simply not working.

I was have the sam idea but dont check it yet.
So, maybe the best variant use something like this