How to access input in a Runnable Thread?

I am thinking of making a thread that reads inputs independently from the Main thread (for a variety of reasons).

Problem is, I don’t have any idea about how unreal handles input beyond simply axis bindings in Character code. I don’t know if inputs (input abstraction inside UE4) are considered shared global resources between threads or they are inaccessible out side the main game thread.

A lot of things that I simply don’t have a clue about. So any answer, or explanation would be of benefit.

The buttomline, I want to make a very fast thread that runs more than 300 times per second and want it to collect inputs, then the game thread will read this data in a thread-safe manner. I am extremely unsatisfied by the per-frame manner of reading incoming inputs.

a coin flip