Help with getting character input

Sorry if the title is confusing but basically what I am trying to do is getting the Throttle/ThrottleFloat and Steer/SteerFloat of a vehicle seat. I am trying to make a custom character movement system, but I got stuck on this part. I have tried searching google, the Developer Forum but found no answers. I know you can do inputBegan for keyboards but I want it to work for mobile too. Thanks in advance.

But what are you really trying to achieve though?

What I want is to make a first person sort of view. And it needs to be relative to the characters HumanoidRootPart. And in order to do that I need to know what direction the player wants to move(forward, left, right, backwards). If I just make the camera stay at the characters head the character will always turn slightly.

Alright then make the camera stay at the humanoid root part

Well If I wanted to make the head rotate it just gets complicated. All I really want is to make character movement relative to the humanoidrootpart.

local seat = script.Parent
local steerEvent = seat:GetPropertyChangedSignal("Steer")
local throttleEvent = seat:GetPropertyChangedSignal("Throttle")

Steer is -1 means Left or A key
Steer is 1 means Right or D key
Steer is 0 means no key is being pressed/key was released

Throttle is -1 means backwards or S key
Throttle is 1 means forwards or W key
Throttle is 0 means no key is being pressed/key was released

  local steer = seat.Steer

  local throttle = seat.Throttle

For user input, you can start with code like this. I tested it and it’s mobile friendly.

So how would I make the character move? Because I can’t have the character sit and move right?

Hmm I think I understand now. You were originally using a vehicle seat because you don’t know how to detect user input any other way? So you don’t want the vehicle seat?

Yes. I don’t want the vehicle seat but know the throttle and steer somehow. sort of the move direction of the humanoid. I cant use move direction because when I set disable controls it doesn’t work

This is not an easy task. I don’t want to discourage you, but if you have to ask how to create a custom movement system, you probably aren’t ready to create one. For the user input, I’d suggest using the ContextActionService’s BindAction method. For the inputTypes argument of this method, you should use PlayerActions. This will allow you to capture input the same way ROBLOX’s default controller scripts do.

For the hard part, it’s mainly up to you to figure out. There are many custom controllers out there already. Feel free to study them or the ROBLOX default scripts.

How would I use playerActions? Is there an event for it?
EDIT: Sorry never mind

Thank you for all of your help!