https://bugs.kde.org/show_bug.cgi?id=527065

            Bug ID: 527065
           Summary: Touchpad pointer stops moving after resume from
                    suspend while "Disable while typing" is on (clicks
                    still work); toggling the setting fixes it
    Classification: Plasma
           Product: kwin
      Version First 6.7.5
       Reported In:
          Platform: Fedora RPMs
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: input
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
  Target Milestone: ---

Created attachment 197087
  --> https://bugs.kde.org/attachment.cgi?id=197087&action=edit
Full libinput debug-events log available on request / attached
(`libinput-log-touchpad-stuck.sanitized.txt` — keyboard events removed for
privacy).

After waking the laptop from suspend (s2idle, lid close/open), the touchpad
no longer moves the pointer. Physical clicks on the touchpad still work. Tap
and
motion are ignored, exactly as if "disable touchpad while typing" were
permanently active. The keyboard works normally.

The state persists until the touchpad's "Disable while typing" setting is
changed.
Switching it off (System Settings → Touchpad, or via D-Bus) restores motion
immediately; switching it off and back on also restores motion and the feature
keeps working afterwards.

It does not happen on every resume, but often (several times over a few days).

## Evidence that the problem is in KWin, not libinput/kernel

While the pointer was stuck, a separate libinput context
(`sudo libinput debug-events --show-keycodes`, running since before the
suspend,
default config = disable-while-typing enabled) reported **normal pointer
motion and button events from the same touchpad**, and **no keyboard key left
in the pressed state** across the suspend:

```
-event0   SWITCH_TOGGLE   +12.831s  switch lid state 1        <- lid closed,
suspend
 event0   SWITCH_TOGGLE   +14.630s  switch lid state 0        <- lid opened,
resume
-event7   GESTURE_HOLD_BEGIN +29.579s 1                       <- (no key events
in between)
 event7   POINTER_MOTION  +29.595s   0.00/  0.16 ( +0.00/ +1.00)
 event7   POINTER_MOTION  +29.611s   0.23/  0.00 ( +1.00/ +0.00)
 ...
 event7   POINTER_BUTTON  +29.672s  BTN_LEFT (272) pressed, seat count: 1
 event7   POINTER_BUTTON  +30.001s  BTN_LEFT (272) released, seat count: 0
 event7   POINTER_MOTION  +30.039s   0.79/  1.58 ( +2.00/ +4.00)
```

At the same time KWin did not move the pointer. Kernel side was also verified
healthy (touchpad IRQ count increasing; device present). Reloading
`i2c_hid_acpi` did NOT help — the device was re-created and KWin still ignored
motion — which also points at KWin's DWT state rather than the device.

KWin's D-Bus view of the touchpad while stuck:
`/org/kde/KWin/InputDevice/event7`: enabled=true, touchpad=true,
disableWhileTyping=true, tapToClick=true.

Workaround that reliably fixes it (no re-login needed):
```
qdbus-qt6 org.kde.KWin /org/kde/KWin/InputDevice/event7
org.freedesktop.DBus.Properties.Set org.kde.KWin.InputDevice disableWhileTyping
false
qdbus-qt6 org.kde.KWin /org/kde/KWin/InputDevice/event7
org.freedesktop.DBus.Properties.Set org.kde.KWin.InputDevice disableWhileTyping
true
```

## Steps to reproduce

1. Enable System Settings → Touchpad → "Disable while typing" (default).
2. Close the lid to suspend (s2idle), wait, open the lid, unlock.
3. Try to move the pointer with the touchpad.

## Observed

Pointer does not move; touchpad physical clicks still work; keyboard works.

## Expected

Pointer moves normally after resume.

## Software / hardware

- Fedora 44 KDE Plasma, Wayland session
- KWin 6.7.5, Plasma 6.7.5, KDE Frameworks 6.31.0, Qt 6.11.2
- libinput 1.31.3, Mesa 26.2.4
- Kernel 7.2.9-201.fc44.x86_64
- Framework Laptop 13 Pro (Intel Core Ultra Series 3, Core Ultra 5 325 "Panther
Lake"), BIOS 03.02
- Touchpad: PixArt `PIXA3854:00 093A:1343` (I2C HID, hid-multitouch)
- Keyboard: `AT Translated Set 2 keyboard` (i8042)
- Other input devices present: `FRMW0004:00 32AC:0006` (Wireless Radio Control,
  Consumer Control), touchscreen `CSW1322:00 3558:14FD`, Lid Switch, Power
Button,
  Video Bus, and an `ImExPS/2 Generic Explorer Mouse` (i8042 aux)
- Suspend mode: s2idle

## Possibly related

- CachyOS/distribution#576 — KWin Wayland pointer clicks stop after resume;
  toggling the touchpad off/on recovers (different symptom, same "KWin input
  state stale after resume, toggling fixes" pattern).

Full libinput debug-events log available on request / attached
(`libinput-log-touchpad-stuck.sanitized.txt` — keyboard events removed for
privacy).

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to