Introducing Gamepad and Keyboard Support for the Desktop App

Hi Creators,

Today, we’re introducing the ability for users to navigate the desktop app using a keyboard or connected gamepad to improve accessibility and offer more UI/UX options for all Roblox users.

image2

How Do Users Enable It?

Users can enable this simply by pressing the arrow keys / WASD on a keyboard or using directional input on a gamepad.

Once one of these inputs is received, they should see a selection cursor appear on their screen, just like the one on our console app. They will be able to activate UI using the Enter / Return key and navigate back using Escape. A shortcut bar will also appear at the bottom of the screen showing other actions and the keys they can use to trigger them.

To exit keyboard / gamepad input mode, simply interact with the app using mouse or touch.

How It Was Made

To build this feature, we used Focus Navigation, a Lua library we originally developed for our release onto the Playstation platform. Focus Navigation supplies helpers for your Luau code to manage UI selection, as well as useful React wrappers and APIs. Keep an eye out in coming weeks for our release of the source code. :eyes:

What’s Next?

We hope you enjoy this feature and that it makes the app easier for both you and your users to use! There are more improvements on the way for the keyboard navigation UX, especially in the app’s Avatar editor and in bringing this feature to mobile + VR. When we release the Focus Navigation library, we hope that it makes your work easier when optimizing UI for gamepad users and those who prefer not to use pointer-based UI.

Thanks!
spakesh

178 Likes

This topic was automatically opened after 10 minutes.

I hope the release of the libraries and source code for these wrappers removes a lot of the barriers and increases gamepad ergonomics when playing experiences!

29 Likes

This is a nice update! I found it interesting and gives good accessibility!

One thing that I discovered is that clicking PgUp and PgDown doesn’t work, despite having NumLock enabled…

11 Likes

One step closer to the support of more keys that are unusable and navigation across the platform

…Hopefully

7 Likes

very cool! keep up the good work with optimizing studio and the platform!

4 Likes

Since you’ve been working on gamepad related things, have you identified the cause of this bug yet?

4 Likes

Huh, never expected something like this but this still doesn’t feel like the definitive console experience i wanted when it was ported to Playstation, but overall, Cool :grinning::+1:

4 Likes

Pretty neat to be getting “how it was made” sections now. Good stuff, guys.

5 Likes

have you guys thought about supporting gyro controls?

6 Likes

This is great! Now all we need is to be able to control Roblox from a keyboard on mobile in game and also like this :grin:

5 Likes

Awesome! Could you guys add this to the website as well?

5 Likes

This is good but what about gamepad and landscape support on the mobile app and more importantly the lack of proper mouse support on mobile for which people have been asking for years?

4 Likes

:eyes:
I would honestly really love to read though the source code y’all used! I never used Lua React and to be honest, I probably should look into using it.

Anyways, this is really useful feature and it’s nice seeing it added to the Roblox Client. Thank you! :happy3:

1 Like

Les go i wanted this exact update for 4 years

2 Likes

This is very convenient timing! Just one day before this update came out, I was using one of my Xbox controllers to play Roblox games and I wondered why the controller didn’t work in the Desktop universal app. Thanks for this update :slight_smile:

Also excited to see more internal libraries become open-source!

Hi all. Great to see the positive reception :slight_smile: Unfortunately we’ve bumped into a couple bugs and we’re going to temporarily roll back the feature while we fix them. Thanks for the feedback everyone! We’ll get this back into your hands ASAP.

In the meantime we’ll also be working to get the library ready for y’all!

10 Likes

I’m excited for this part in particular. This update (once re-enabled) drastically helps the UX of handheld consoles running Windows. Linux is in a weird spot of relying on the Android version, or just running Android itself (ex: Logitech G Cloud). Gamepad navigation is much easier to use than relying on the touch screen, touchpad (ASUS ROG Ally and MSI Claw don’t include this), or joystick as a mouse.

3 Likes

Pretty W feature, it helps accessibilty without mouse.

quite an adequate and NEEDED update… i’m always in disgust when an application FORCES a mouse onto me… when that happens, I always have to ask someone to lend me a mouse… navigation shouldn’t require a mouse…

but this is much more needed for studio, not the roblox app…