Using ContextActionService to change default Roblox movement

Is there a way to use ContextActionService to change the keybinds of the default Roblox configuration (ie: WASD movement, left/right arrow key camera rotation) by simply changing which keys are associated with going forward, backward, left, right and jump? ie: I’d like to change movement from WASD to just the arrow keys and remove the camera rotation component.

I would love to ensure my game is able to work across all kinds of keyboards and controllers, but I haven’t been able to find any way of applying the default movement to a custom keybind using ContextActionService. I’ll try making a completely custom movement code in the meantime, but it would save me some time/hassle if this was doable with what roblox gives us. I have not been able to find exactly where roblox binds movement to the default keys. It seems only the result of pressing the keys are shown in the Keyboard module script within the function “Keyboard:BindContextActions()”

This was brought up briefly in a few prior posts, the most recent one I found being a simple question below:

1 Like

I ended up just changing the bound action which was in the Keyboard module to:


Replacing “Enum.PlayerActions.CharacterLeft” with a table of mine to enable players to customize their keyboard if they wish. I’d still love to know if there is a way to directly bind the PlayerActions to keys, but this seems to be a fine alternative for now.