Where is the input binding of Dynamic Pawn performed?

I want to know Where is the input binding of DynamicPawn performed?
C++, Blueprint. I’ve looked everywhere.
C++, Blueprint. I searched everywhere, but I didn’t find where the WASDQE and the space bar were bound to the Pawn input.
This confused me. Because I want to expand the Pawn slightly, but it is blocked in the first step.

Well, I found the reason. It is hard coded in the InitializeDefaultPawnInputBindings method of ADefaultPawn, which comes with the engine. It seems that I can only rewrite a Pawn class, copy the code in DynamicPawn and make some customization to meet my needs.