How to check if an occupant of a vehicle is pressing a given key

You can write your topic however you want, but you need to answer these questions:
I am currently trying to build a vehicle chassis to use. I have been able to implement an automatic gearbox in the forwards direction only, but…

I need to find a way to check if the occupant of the vehicle is pressing a given key, like “F” “R”, so I can implement a way to allow the vehicle to reverse.

I looked at UserInputService but that requires a LocalScript that can’t be on the vehicle itself - and the chassis needs to be self-contained so it can be easily inserted into a game without any extra steps.

UserInputService can be used to detect when input starts and ends.

The only way to detect key presses is in a local script. You can detect for input in the LocalScript, then use a RemoteEvent to tell the server script to move the car. It wouldn’t exactly be self contained like you said, but it’s just 1 local script to move into StarterPlayerScripts.

Would it be possible to make the car’s drive script a local script, or would that cause issues that I would need to fix?

I’m not sure, but I think it’d need to be a serverside script, else the other clients can’t see it’s movement.

Dissecting the AC6.81 chassis appears to show that the physical parts of the vehicle must be set up with a normal Script, but the driving script can be run using a LocalScript whose parent is a PlayerGUI (which I was planning to implement at some point). Inside that LocalScript, I can use the UIS, thus solving this problem.
This brings up a different problem; should I take this to another post?