I am still in the process of ironing out how I want my control scheme, but when looking for a web browser to run in Gaming Mode on my Steam Deck that worked well (Firefox was being funky when run in Gaming Mode/Big Picture) I experimented a little bit with Qutebrowser.
Qutebrowser is downloadable from the Discover package manager in Desktop Mode on the Steam Deck. Qutebrowser is designed for a linux window manager like I3 where you don’t really use a mouse much, everything in Qutebrowser is meant to be navigated with keyboard commands, no mouse required in the style of Vim keyboard commands. Like Vim, Qutebrowser has modes, an input mode (entered by pressing the i key) where you can enter text normally and a navigation mode (entered by pressing escape) that you use the keyboard letters to navigate and input web browser commands. In my control scheme you simply press the menu button to toggle between input and navigation modes.
While this might initially seem like the last software on the planet you would want to try to adapt to using with the Steam Deck’s onboard controls, the wisdom of Vim-style keybindings mean that almost every important function in the software is kept to the letters on the main keyboard, i.e. a-z. We can build a nice control scheme with the idea of mapping all the letters to controls on the steam deck while simultaneously mapping all the letters a-z to controls on the steam deck…
-
The hjkl keys as up/down left/right navigation in vim naturally map to the left joystick, holding shift (long press R1 bumper) and hitting these keys navigates to previous page/next page/tab to the left/tab to the right
-
the entire top row of letters on the keyboard can be assigned to a touch menu on the left trackpad and the entire third row of letters can be assigned to a touch menu on the right trackpad.
-
The shift key can be mapped to long pressing the R1 bumper.
That leaves 5 letters remaining, put f aside and map a s d g to the back buttons of the steam deck. Backspace maps naturally to the x facebutton on the steam deck, the a facebutton to Enter and the b facebutton to Spacebar.
Finally, the last letter f can be mapped to the y facebutton on the Steam Deck. In qutebrowser f is an important key as it prompts what are called hints. When you press f you see something like this…
If you input a sequence of keys shown, Qutebrowser will navigate the cursor to that spot and left click. The really nice accident of this Steam Deck control scheme is that Qutebrowser by default only uses letters that are mapped to physical buttons on the Steam Deck (hjkl asdf and g) in this Steam Controller configuration.
This makes the y facebutton on the Steam Deck a natural place to bind a similar command / that allows to search on the page (bound to long press).
Clicking the leftstick inputs o which opens up the prompt to navigate to a url, clicking the right stick inputs : which is used to access Qutebrowsers advanced commands and settings.
The thing about running Qutebrowser in Gaming Mode is that you can use a separate control scheme in Steam designed exclusively for using Qutebrowser. Obviously, inputting keyboard commands with the touchscreen keyboard is going to be faster, but I think this control configuration is worth exploring since the modal nature of Vim style keyboard commands reduces the amount of necessary keybindings to fully utilize and navigate a web browser by a huge amount. The left joystick being a good fit for hjkl is the icing on the cake!
Fubarberry@sopuli.xyz 6 months ago
I had some doubts going into this post, but you make some good points. I’ll try it out, are you able to share/upload the control scheme?
supersquirrel@sopuli.xyz 6 months ago
I am not sure where controller profiles export to, but I shared my steam deck controller profile under “Qute Browser”.
Fubarberry@sopuli.xyz 6 months ago
There’s a way to share a link to a control profile, where clicking on the link in desktop mode will open it in Steam to be applied immediately. But I’ve never done it myself, and I’m not sure how to do it actually.
That said, I found your profile. The community control layout tabs didn’t show anything, but hitting “show all profiles” from that screen brings up 4 different ones with your username as the creator.