'O' Key Doesn't Register In Studio

I’m not sure if Roblox updated studio to add a new hotkey mounted to O or something, but lately in test mode in studio UserInputService isn’t registering ‘O’ key inputs, or at least not registering it as unprocessed.

Is anyone else getting this too? I think it happens in-game on my Laptop too, but not my PC.

1 Like

This must be because O is used for zooming out, but UIS does register W, A, S, and D.

1 Like

Hmmm, my game is lock first person, and I know this didn’t used to be an issue. It also only happens in studio on my PC, and as I mentioned I think it happens on my laptop too even in-game, but I’m not 100% sure on that, I might be mis-remembering a studio test.

One thing I can add though, is pulling up the F9 log while in first person no-longer unlocks the mouse like it used to. So I think these are caused by the same problem.

The thing is that Roblox screwed up the I and O keys completely. Go into a new baseplate and press those keys.

Are you sure you aren’t just sinking the input due to the gameProcessedEvent argument being true?

O is used as the zoom out shortcut and you will likely find similar for I, WASD, comma, period, page up, page down and arrow keys.

1 Like

Oh yeah you’re right! It doesn’t even work at all in studio…

It does work in Roblox Player, though, so if you can, you should move this to Studio Bugs.

I don’t actually do that when the O key is hit. I think I do for other keys, but in my game O is to send the user back to the menu (it’s a first person shooter that auto-respawns, so users need that functionality)

I noticed that I and O have somewhat turned into Escape now. To press Escape, you need to hold Shift first. That is now the same for I and O.

There have been a couple of posts relevant to this, although I am unsure if there’s been any Bug Report posts

W, A, S, D, I and O is not possible to register in the keybind service is ROBLOX. This is because this are “standard” key Binds. this is not possible to use for the keybinds for UI’s etc. U can only use the other keybinds like c, v, x, CTRL etc. I hope this helps why ROBLOX Don’t support that keybinds.

Friendly greetings,


Well it does work in-game just fine though, but not in studio. I wonder if this is a studio beta thing and not released to the main platform yet…

Gee I hope not, because that would suck.

That’s possible, there are a really many things bugged in roblox studio / roblox so thats weird. I mean i have sometimes a error in my roblox game but in studio it will not show up

Can you send the snippet of code that deals with InputBegan so I can point out the issue?

1 Like

It’s quite simple…

local UIS = game:GetService('UserInputService')
if input.KeyCode == Enum.KeyCode.O then
print('Yo they hit the O key')

Worked perfectly fine for me. If what you have provided is the entire script and it still doesn’t work, then is it possible that the script is disabled?

Are you able to set it up just like this and test? I put your code in a LocalScript in ReplicatedFirst, but StarterPlayerScripts is also suitable.

That’s interesting, are you opted into Studio Beta? Because this 100% doesn’t work for me.

Do you mean

if input.KeyCode == Enum.KeyCode.O then

didn’t work?

This is because the keys “O” and “I” are being used by the camera script to handle zooming out and in, if you want to assign something to those keys you have to use CAS(ContextActionService) instead of UIS(UserInputService).

(This is possibly the problem, that is if the camera script is using CAS which it probably is.)

This used to not be the case. I’ve designed my game to read the I key through UIS, which has been working fine (and still does, in a live game). Only now, this suddenly does not work specifically in Play Solo in Studio.

1 Like