Tablet-Mode on 2-in-1 Convertible

Hey,

HP Elitebook x360 1030 g2 Convertible.
Currently on Linux 6.11.11-1-MANJARO, Gnome.

I’m having trouble with my tablet-mode. When folding my convertible laptop, it switches to tablet-mode and back to laptop-mode, as it should be.
But this does not work always. It occurs to me that the longer the laptop stays in tablet mode, the more likely it is to being unable to recognize the lid-switch back to laptop-mode. Tablet-mode disables keyboard and touchpad and the only way to get out of this is by killing the laptop, simply rebooting does not work.
I’m a student with daily classes, so i have to kill my laptop at least once everyday.

I had it fixed about a month ago by simply disabling tablet mode:

sudo rmmod intel_hid
sudo rmmod intel_ish_ipc

and blacklisting them:

sudo touch /etc/modprobe.d/blacklist.intel.hid

blacklist intel_hid

sudo touch /etc/modprobe.d/blacklsit_intel_ish_ipc.conf

blacklist intel_ish_ipc

After an update about a week ago, this no longer works.

I looked on ArchWiki “Tablet-PC” and tried to get “tablet-mode” by schard running.
This is the error message that i got:

Traceback (most recent call last):
  File "/usr/bin/setsysmode", line 33, in <module>
    sys.exit(load_entry_point('tabletmode==2.2.0', 'console_scripts', 'setsysmode')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/tabletmode/cli.py", line 117, in main
    config = load_config()
             ^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/tabletmode/config.py", line 20, in load_config
    return load(cfg)
           ^^^^^^^^^
  File "/usr/lib/python3.12/json/__init__.py", line 293, in load
    return loads(fp.read(),
           ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 3 (char 2)

I tried messing around, but nothing worked.
This is my current tablet-mode.jason file:

{
    "tablet": [
        "/dev/input/by-path/platform-i8042-serio-0-event-kbd",
        "/dev/input/by-path/platform-i8042-serio-3-event-mouse"
    ],
    "notify": false,
    "sudo": "/usr/bin/doas"
}

Just to be clear, that my laptop does theoretically recognize the sensor, as long as i don’t stay for too long in tablet mode:

sudo libinput debug-events
-event3   DEVICE_ADDED                Power Button                      seat0 default group1  cap:k
-event5   DEVICE_ADDED                Video Bus                         seat0 default group2  cap:k
-event2   DEVICE_ADDED                Power Button                      seat0 default group3  cap:k
-event1   DEVICE_ADDED                Lid Switch                        seat0 default group4  cap:S
-event0   DEVICE_ADDED                Sleep Button                      seat0 default group5  cap:k
-event18  DEVICE_ADDED                Wacom HID 481C Pen                seat0 default group6  cap:T  size 294x165mm left calib
-event19  DEVICE_ADDED                Wacom HID 481C Finger             seat0 default group6  cap:t  size 294x165mm ntouches 10 calib
-event17  DEVICE_ADDED                ALP0016:00 044E:1215              seat0 default group7  cap:pg  size 107x58mm tap(dl off) left scroll-nat scroll-2fg-edge click-buttonareas-clickfinger dwt-on dwtp-on
-event8   DEVICE_ADDED                Intel Virtual Buttons             seat0 default group8  cap:k
-event9   DEVICE_ADDED                Intel Virtual Switches            seat0 default group9  cap:S
-event7   DEVICE_ADDED                Intel HID events                  seat0 default group10 cap:k
-event4   DEVICE_ADDED                AT Translated Set 2 keyboard      seat0 default group11 cap:k
-event20  DEVICE_ADDED                AlpsPS/2 ALPS GlidePoint          seat0 default group12 cap:pg  size 104x60mm tap(dl off) left scroll-nat scroll-2fg-edge click-buttonareas-clickfinger dwt-on dwtp-on
-event6   DEVICE_ADDED                Wireless hotkeys                  seat0 default group13 cap:k
-event11  DEVICE_ADDED                HP WMI hotkeys                    seat0 default group14 cap:kS
-event9   SWITCH_TOGGLE               +0.420s	switch tablet-mode state 1
 event9   SWITCH_TOGGLE               +1.987s	switch tablet-mode state 0

The problem occurs after spending up to 1h30 (i don’t know the specific time window, but happens mostly after every class) in tablet-mode. Then, the switch-toggle just doesn’t appear anymore and my keyboard / touchpad keep being disabled.

I don’t find any solution to this, and i really don’t want to keep on killing my laptop day by day. Can anyone help me?

Welcome to the forum! :wave:

Please post your system info as outlined here:

See also:

I have a dell 2 in1 laptop and have an issue that may be related. I don’t use tablet mode very often but quite often when the laptop wakes from suspend my keyboard will refuse to work on quite a few apps until i log out and log back in. I know it’s a different issue but I’ve a feeling it’s related ie a sensor not waking up.

The weird thing is its not all apps for example Firefox will always work but bluemail and Vivaldi the keyboard " won’t wake up"

Hopefully you’ll find an answer as it will probably fix my issue