LizardByte / LizardByte/libvirtualhid

Linux: Browser Gamepad API omits DualShock 4 and DualSense touchpad button

Open
#82 0 comments 0 reactions 1 assignee View on GitHub

@LizardByte-bot is already working on this.

Since Aug 15, 2026.

Dominant language
C++
Stars
54
Forks
15
Avg merge
11h 32m
Merged PRs (30d)
34

Description

Environment

Observed behavior

Neither browser exposes the touchpad click button for the virtual DualShock 4 or DualSense.

Example DualSense identities:

  • Chromium: Sunshine (libvirtualhid) PS5 Controller (STANDARD GAMEPAD Vendor: 054c Product: 0ce6)
  • Firefox: 054c-0ce6-Sunshine (libvirtualhid) PS5 Controller

The gamepad-helper mapping already assigns PlayStation button index 17 to the touchpad, so the missing value occurs before presentation when the browser's Gamepad.buttons collection is populated.

Expected behavior

The touchpad click should be exposed as a browser gamepad button and rendered with the existing touchpad mapping.

Investigation boundary

Compare raw browser Gamepad API state with hidraw/evdev reports and each browser's standard-mapping behavior. Do not change the public controller mapping or Windows backend unless the captured report path proves that is required.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.