Movement Components confusing me... invisible functionality?

I’ve been scrolling through source code for at least two hours, and nowhere can I identify where input from the keyboard is actually sent to a Characters Movement Component, or any Movement Component for that matter.

I’m looking into creating a custom movement component for ‘Hovering’ like behaviour, but I’m having major issues understanding how the component is tied together, as the comments on the code are a little Ambiguous, I assumed that ‘InputVector’ would be what I was looking for, but apparently it’s not. I want to create a couple of custom functions that set the acceleration and rotational acceleration of my vehicle, as the vehicle behaves like a 6-DOF control vehicle on a spring, but where do I really start? Looking at the source code, I may be able to override the CharacterMovementComponent and place my functionality in there, but need a little more help on the flow of the system. 6K lines of code is a LOT to filter through!

I have seen Rama’s tutorial on the Wiki, but it only really tells us how to override functions, in terms of actually acquiring input from the keys, I’m not sure how it works. Anybody care to shed some light on how I can compute these things, and whether there is built-in functionality I can override that does rotational acceleration as well as lateral?