DisableTablet Mode Linux

0

I have an HP x360 envy 15-bpxx and I just switched to Arch. Before I had dual boot with Ubuntu and Windows. Anyway, even before setting up Arch the problem was already present. Whenever I'm getting into an OS (doesn't matter if Ubuntu, Windows or Arch is used) my laptop keyboard is disabling itself because tablet mode switches are randomly send by the sensors/hinges whatever.

This is my xinput output

╰─ xinput    
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ MOSART Semi. 2.4G Keyboard Mouse          id=11   [slave  pointer  (2)]
⎜   ↳ MOSART Semi. 2.4G Keyboard Mouse Consumer Control id=12   [slave  pointer  (2)]
⎜   ↳ SEM USB Keyboard Consumer Control         id=15   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=24   [slave  pointer  (2)]
⎜   ↳ ELAN0732:00 04F3:2538                     id=19   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Video Bus                                 id=8    [slave  keyboard (3)]
    ↳ Power Button                              id=9    [slave  keyboard (3)]
    ↳ MOSART Semi. 2.4G Keyboard Mouse          id=10   [slave  keyboard (3)]
    ↳ MOSART Semi. 2.4G Keyboard Mouse System Control   id=13   [slave  keyboard (3)]
    ↳ SEM USB Keyboard                          id=14   [slave  keyboard (3)]
    ↳ SEM USB Keyboard System Control           id=16   [slave  keyboard (3)]
    ↳ HP Wide Vision FHD Camera: HP W           id=17   [slave  keyboard (3)]
    ↳ Intel Virtual Button driver               id=21   [slave  keyboard (3)]
    ↳ Intel Virtual Button driver               id=22   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=23   [slave  keyboard (3)]
    ↳ HP Wireless hotkeys                       id=25   [slave  keyboard (3)]
    ↳ HP WMI hotkeys                            id=26   [slave  keyboard (3)]
    ↳ MOSART Semi. 2.4G Keyboard Mouse Consumer Control id=27   [slave  keyboard (3)]
    ↳ SEM USB Keyboard Consumer Control         id=28   [slave  keyboard (3)]
    ↳ ELAN0732:00 04F3:2538                     id=20   [slave  keyboard (3)]
    ↳ HP Wide Vision FHD Camera: HP I           id=18   [slave  keyboard (3)]

As you can see, I'm typing this by an external keyboard, because it isn't possible to use my laptop keyboard. The only way the keyboard is active is, if I use my laptop in tent mode or heavily tilted, which is the very opposite of the supposed behavior.

I further tried to specify the event/error and where its coming from with libinput. Here is some libinput debug-events record

╰─ sudo libinput debug-events
-event2   DEVICE_ADDED     Power Button                      seat0 default group1  cap:k
-event22  DEVICE_ADDED     Video Bus                         seat0 default group2  cap:k
-event23  DEVICE_ADDED     Video Bus                         seat0 default group2  cap:k
-event1   DEVICE_ADDED     Power Button                      seat0 default group3  cap:k
-event0   DEVICE_ADDED     Lid Switch                        seat0 default group4  cap:S
-event4   DEVICE_ADDED     MOSART Semi. 2.4G Keyboard Mouse  seat0 default group5  cap:k
-event5   DEVICE_ADDED     MOSART Semi. 2.4G Keyboard Mouse  seat0 default group5  cap:p left scroll-nat scroll-button
-event6   DEVICE_ADDED     MOSART Semi. 2.4G Keyboard Mouse Consumer Control seat0 default group5  cap:kp scroll-nat
-event7   DEVICE_ADDED     MOSART Semi. 2.4G Keyboard Mouse System Control seat0 default group5  cap:k
-event9   DEVICE_ADDED     SEM USB Keyboard                  seat0 default group6  cap:k
-event10  DEVICE_ADDED     SEM USB Keyboard Consumer Control seat0 default group6  cap:kp scroll-nat
-event11  DEVICE_ADDED     SEM USB Keyboard System Control   seat0 default group6  cap:k
-event20  DEVICE_ADDED     HP Wide Vision FHD Camera: HP W   seat0 default group7  cap:k
-event21  DEVICE_ADDED     HP Wide Vision FHD Camera: HP I   seat0 default group7  cap:k
-event15  DEVICE_ADDED     ELAN0732:00 04F3:2538             seat0 default group8  cap:t  size 332x188mm ntouches 10 calib
-event18  DEVICE_ADDED     ELAN0732:00 04F3:2538             seat0 default group8  cap:T  size 341x193mm calib
-event13  DEVICE_ADDED     Intel Virtual Button driver       seat0 default group9  cap:kS
 event13  SWITCH_TOGGLE    +0.000s      switch tablet-mode state 1
-event25  DEVICE_ADDED     HDA Intel PCH Mic                 seat0 default group10 cap:
-event26  DEVICE_ADDED     HDA Intel PCH Headphone           seat0 default group10 cap:
-event27  DEVICE_ADDED     HDA Intel PCH HDMI/DP,pcm=3       seat0 default group10 cap:
-event28  DEVICE_ADDED     HDA Intel PCH HDMI/DP,pcm=7       seat0 default group10 cap:
-event29  DEVICE_ADDED     HDA Intel PCH HDMI/DP,pcm=8       seat0 default group10 cap:
-event30  DEVICE_ADDED     HDA Intel PCH HDMI/DP,pcm=9       seat0 default group10 cap:
-event31  DEVICE_ADDED     HDA Intel PCH HDMI/DP,pcm=10      seat0 default group10 cap:
-event14  DEVICE_ADDED     Intel Virtual Button driver       seat0 default group11 cap:kS
-event3   DEVICE_ADDED     AT Translated Set 2 keyboard      seat0 default group12 cap:k
-event24  DEVICE_ADDED     SynPS/2 Synaptics TouchPad        seat0 default group13 cap:pg  size 117x57mm tap(dl off) left scroll-nat scroll-2fg-edge click-buttonareas-clickfinger dwt-on
-event12  DEVICE_ADDED     HP Wireless hotkeys               seat0 default group14 cap:k
-event256  DEVICE_ADDED     HP WMI hotkeys                    seat0 default group15 cap:k
-event13  SWITCH_TOGGLE    +1.927s      switch tablet-mode state 0
 event13  SWITCH_TOGGLE    +2.727s      switch tablet-mode state 1
 event13  SWITCH_TOGGLE    +4.027s      switch tablet-mode state 0
 event13  SWITCH_TOGGLE    +5.424s      switch tablet-mode state 1
 event13  SWITCH_TOGGLE    +6.541s      switch tablet-mode state 0
 event13  SWITCH_TOGGLE    +7.791s      switch tablet-mode state 1

So, clearly the problem is coming from "Intel Virtual Button Driver". I tried to disable them when I boot, but they still send the events, even when xinput tells that they are disabled. I found 1-2 similar threads, however all of them with no solution.

Edit: I managed to get rid of the "Intel Virtual Button driver" in xinput, so new output, without external keyboard looks like this:

─ xinput             
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ MOSART Semi. 2.4G Keyboard Mouse          id=11   [slave  pointer  (2)]
⎜   ↳ MOSART Semi. 2.4G Keyboard Mouse Consumer Control id=12   [slave  pointer  (2)]
⎜   ↳ ELAN0732:00 04F3:2538                     id=16   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=19   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Video Bus                                 id=8    [slave  keyboard (3)]
    ↳ Power Button                              id=9    [slave  keyboard (3)]
    ↳ MOSART Semi. 2.4G Keyboard Mouse          id=10   [slave  keyboard (3)]
    ↳ MOSART Semi. 2.4G Keyboard Mouse System Control   id=13   [slave  keyboard (3)]
    ↳ HP Wide Vision FHD Camera: HP W           id=14   [slave  keyboard (3)]
    ↳ HP Wide Vision FHD Camera: HP I           id=15   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=18   [slave  keyboard (3)]
    ↳ HP Wireless hotkeys                       id=20   [slave  keyboard (3)]
    ↳ HP WMI hotkeys                            id=21   [slave  keyboard (3)]
    ↳ MOSART Semi. 2.4G Keyboard Mouse Consumer Control id=22   [slave  keyboard (3)]
    ↳ ELAN0732:00 04F3:2538                     id=17   [slave  keyboard (3)]

However, they are still sending the events and get listed by libinput list-devices.

Maxi Köhler

Posted 2020-01-09T08:49:57.790

Reputation: 31

No answers