Touchpad settings page missing in OpenGamepadUI settings
Summary
OpenGamepadUI currently exposes no user-tunable parameters for the laptop/handheld touchpad. On Steam Big Picture / KDE Wayland, when InputPlumber (or directly libinput) feeds touchpad events through OpenGamepadUI and then into Steam, the user can only adjust Steam → Settings → Controller → Touchpad → Cursor Sensitivity. There is no way to set:
- Tap-to-click and tap-to-drag
- Two-finger / edge scroll method
PointerAcceleration (libinput adaptive / flat profile)
DisableWhileTyping
- Natural / reverse scrolling
- Click method (clickfinger / buttonareas)
When a non-Steam-Deck device is used (for example a GPD Win Mini 2024 with HTIX5288:00 0911:5288 touchpad), the default InputPlumber composite re-emits the touchpad as a uinput InputPlumber Touchpad device. That virtual device is forwarded by OpenGamepadUI to Steam without any configuration knobs, so users have no recourse to fix drifting cursors or broken two-finger scrolling.
Reproduction steps
- Boot Bazzite-Deck on a handheld/laptop with an i2c touchpad (HTIX5288 or similar).
- Open OpenGamepadUI → Settings.
- Note that there is no Touchpad section in the settings tree (verified on OpenGamepadUI shipped with Bazzite 44.20260908).
- While the touchpad works in Steam Big Picture, two-finger scrolling behaves erratically and tap-to-click cannot be enabled.
Expected behavior
OpenGamepadUI should expose a "Touchpad Settings" page with at least:
- Tap to click (enable/disable)
- Tap drag / drag lock
- Two-finger scroll / edge scroll toggle
- Scroll factor (low / medium / high)
- Natural scrolling
- Pointer acceleration profile (none / adaptive) and factor
- Disable while typing
These settings should map to either:
- DBus calls to
org.shadowblip.InputPlumber (when InputPlumber is feeding the touchpad), or
- A
~/.config/kcminputrc patcher that writes the corresponding [Libinput][...][Touchpad] section so libinput picks them up when the touchpad is passed through.
Implementation notes
- OpenGamepadUI is a Godot app and stores its config in
~/.local/share/opengamepadui/settings.cfg. That config format does not currently contain any [touchpad] section.
- Today, the binary
opengamepad-ui.x86_64 contains only a single string match for TapTimer in any touchpad-related code path, confirming that there is no UI for tap/drag/scroll.
- The Touchpad events are loaded as
InputPlumberTouchpadEvent (res://core/systems/input/events/touchpad_event.gd).
Suggested fix
Add a new settings page in OpenGamepadUI that:
- Reads existing InputPlumber device properties (
org.shadowblip.Input.Source.EventDevice) to detect touchpad source paths.
- Exposes a small subset of libinput properties via a
TouchpadSettings section, persisted to ~/.local/share/opengamepadui/settings.cfg.
- Applies changes either by:
- DBus
org.shadowblip.InputPlumber calls (preferred), or
- Writing
~/.config/kcminputrc entries when OpenGamepadUI's session does not own the touchpad directly.
Environment
- Bazzite 44.20260908 (
ghcr.io/ublue-os/bazzite-deck:stable)
- OpenGamepadUI (current packaged)
- InputPlumber 0.79.0
- Steam client 1788652215
- Touchpad: HTIX5288:00 0911:5288 (i2c, 67x48 mm, multitouch)
Workaround
Today the only knob is Steam → Settings → Controller → Touchpad → Cursor Sensitivity. Users have to manually edit ~/.config/kcminputrc and restart Plasma to recover libinput-level control on devices where InputPlumber does not grab the touchpad.
Touchpad settings page missing in OpenGamepadUI settings
Summary
OpenGamepadUI currently exposes no user-tunable parameters for the laptop/handheld touchpad. On Steam Big Picture / KDE Wayland, when InputPlumber (or directly libinput) feeds touchpad events through OpenGamepadUI and then into Steam, the user can only adjust
Steam → Settings → Controller → Touchpad → Cursor Sensitivity. There is no way to set:PointerAcceleration(libinput adaptive / flat profile)DisableWhileTypingWhen a non-Steam-Deck device is used (for example a GPD Win Mini 2024 with HTIX5288:00 0911:5288 touchpad), the default InputPlumber composite re-emits the touchpad as a uinput
InputPlumber Touchpaddevice. That virtual device is forwarded by OpenGamepadUI to Steam without any configuration knobs, so users have no recourse to fix drifting cursors or broken two-finger scrolling.Reproduction steps
Expected behavior
OpenGamepadUI should expose a "Touchpad Settings" page with at least:
These settings should map to either:
org.shadowblip.InputPlumber(when InputPlumber is feeding the touchpad), or~/.config/kcminputrcpatcher that writes the corresponding[Libinput][...][Touchpad]section so libinput picks them up when the touchpad is passed through.Implementation notes
~/.local/share/opengamepadui/settings.cfg. That config format does not currently contain any[touchpad]section.opengamepad-ui.x86_64contains only a single string match forTapTimerin any touchpad-related code path, confirming that there is no UI for tap/drag/scroll.InputPlumberTouchpadEvent(res://core/systems/input/events/touchpad_event.gd).Suggested fix
Add a new settings page in OpenGamepadUI that:
org.shadowblip.Input.Source.EventDevice) to detect touchpad source paths.TouchpadSettingssection, persisted to~/.local/share/opengamepadui/settings.cfg.org.shadowblip.InputPlumbercalls (preferred), or~/.config/kcminputrcentries when OpenGamepadUI's session does not own the touchpad directly.Environment
ghcr.io/ublue-os/bazzite-deck:stable)Workaround
Today the only knob is
Steam → Settings → Controller → Touchpad → Cursor Sensitivity. Users have to manually edit~/.config/kcminputrcand restart Plasma to recover libinput-level control on devices where InputPlumber does not grab the touchpad.