How to disable the WASD keys on the GUI selector (and leave only the arrow keys for such things)?

Hello there.

Title should say it all.

I am utilizing the selector service from guiservice for a game of sorts. The issue I’m getting is that the game needs to utilize the entire keyboard for typing things and the selector to modify the letters. The issue is that the selector is overriding the WASD keys by default, even when having a lower priority (my typing context function has 3000 priority, but it still gets ignored)

My goal is to disable or remove the wasd keys from being used in the selecting options to move the parts left and right, and instead leave only the arrow keys for it.

Well, here, I want the WASD keys to not be on the list.

What should I do? I tried using a function called guiservice:RemoveKey() but it states that, even in the command bar or inside the scripts the function errors because the game is not allowed (It might be because its touching on official roblox tools)

(This picture should leave it clear as hell, the letters ENOPO were typed with the keyboard)

What I’m trying to achieve is a game where there is absolutely no movement functionalities, you don’t have any use for wasd keys or arrow keys as these don’t come into play at any time. At most, these keys only make simple animations, but they’re not fundamental to the game.

The game works in a board game type of fashion, you’re given dices of random letters and you have to type in words with those dices, then combine those dices in horizontal lines with vertical lines to try and reach the most amount of points as possible.

Similar to this, but in an extended size, with teammates, and more than just 15 dices.

My problem is in the selection section. Whenever the player types in the letters, the player should be able to check and replace each specific letter to what they want to use (in case of mistypes). This is the part where I start to not understand how to accomplish this. I tried to make a selector with an image label but the image label can’t get to the position of the letters because the letters’ positions are affected by a UIListLayout, and as such it can’t be replicated directly. Not only does the selector not get into place, and knowing the fact that the selector would get a lot more complex once it would have to go upwards, I decided to use the selector from the guiservice because it already does everything I need it to do.

Making this selector script for each letter in a homemade fashion would be like reinventing the wheel, basically. The solution already exists, I just need to implement it in. The issue here is that it overrides the letters WASD for typing, so if the player gets any of those it can’t use them. The idea is to show them that they need to use the arrow keys and, more importantly, make the game completely playable from the keyboard with no need for mouse (because, in case you didn’t know, a lot of players use a trackpad instead of a mouse (been there before), so the idea is to make the mouse a convenience, not a must).

(I am mostly doing this because of how easy it should get to be, I am not a dedicated programmer, I’m a game designer who really needs a scripter, but I have no monetary funds to pay forward.)

Not possible out of the box. You would need to write a custom selector and navigation logic with the inputs that you do want to control the selector.

They shouldn’t change the engine to make this possible either. The UX for built-in functionality should be consistent: users expect WASD / other to move the selector.

This seems like an XY problem. You probably don’t want to use the built-in UI selection for whatever you are trying to achieve. Users expect that WASD is tied to UI navigation while in UI navigation mode. Users expect this to interrupt normal gameplay controls while UI navigation is in process.

Maybe explain at a higher-level what exactly you are trying to achieve gameplay-wise so people can provide better suggestions on how to solve the problem.

Ok, I ended up editing the topic.