Open Bug 1870900 Opened 5 months ago Updated 4 months ago

Firefox on SteamDeck won't resize menus when using touch like it does on Win 11

Categories

(Core :: Widget: Gtk, defect, P3)

Other
Other
defect

Tracking

()

People

(Reporter: jchaupitre, Unassigned)

References

(Depends on 1 open bug, Blocks 1 open bug)

Details

Attachments

(2 files)

Attached video Touchscreen on Deck.mp4

When using Firefox on the touch screen of my steam deck, I am having a hard time opening the menus because they are very small and my fingers are quite big compared to the screen size of the deck.

Steps to reproduce:
Open Firefox on Steam Deck and use your touch screen to open the hamburger menu and navigate around the menus

Expected result:
When opening the menu with touch screen on the steam deck, the menus should be bigger and wider like we see on Windows 11.

Actual Result:
The size of the hamburger menu remains unchanged on the steam deck if you use touch screen or the mouse.

We use the inputSource set on the event to determine touch was used to open the menu. If that's wrong, the fundamental bug is probably in our Linux widget layer, so moving over there.

Unfortunately I don't have a steamdeck to test with. From some quick web searches, it seems the deck uses KDE. I then found bug 1661219 which looks potentially related.

Julien: if you run the browser from a terminal/console on your steam deck as follows:

MOZ_USE_XINPUT2=1 firefox

(or otherwise set that env var and then launch Firefox)

does that "make it work", ie do you then get touch-density menus on the steam deck?

Component: Menus → Widget: Gtk
Flags: needinfo?(jchaupitre)
Product: Firefox → Core

Hm, actually, it looks like steamdeck might use wayland and the code from bug 1661219 has since changed more, so perhaps my guess is not useful. If it's easy to test it would still potentially be useful to exclude as a potential cause, I suppose...

Also, on my Steam Deck at least, MOZ_USE_XINPUT2 appears to be set by default, along with MOZ_ENABLE_WAYLAND (both according to about:support).

I'm suspicious that Steam itself and its input handling is what's doing something odd here, for two reasons: 1, I've had issues with it getting in the way multiple times before, and 2, KDE does not seem to believe that a touchscreen is even present, there's nothing about one in its control panel. I suspect that Steam input is emulating a mouse and funneling everything (the touchscreen, as well as its own touchpads and controller inputs) through that emulation.

I went ahead and set the environment variable as follow:

export MOZ_USE_XINPUT2=1 

And then launch Firefox and I don't see any difference in the density, it's still very similar.

Flags: needinfo?(jchaupitre)

(In reply to Molly Howell (she/her) [:mhowell] from comment #4)

2, KDE does not seem to believe that a touchscreen is even present, there's nothing about one in its control panel. I suspect that Steam input is emulating a mouse and funneling everything (the touchscreen, as well as its own touchpads and controller inputs) through that emulation.

Indeed Gecko doesn't report touchscreen support. https://patrickhlauke.github.io/touch/pointer-hover-any-pointer-any-hover/ should report any-pointer: coarse if it thinks there's touchscreen but Gecko does not. navigator.maxTouchPoints is also 0.

(But Gecko does get touch events.)

Touchscreens are supported by Widget/Gtk, I use touchscreen laptop by myself. I expect SteamDeck doesn't provide support for it.

Priority: -- → P3

libinput list-devices reports FTS3528 with /dev/input/event14 and /event15, each with Capabilities: touch and tablet. Sounds like it should work 🤔

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: