Glad to hear that you are making progress!
It should always be possible to use the ControlBlock together with any USB controller. You would just need to run the input configuration for each device on EmulationStation. All controller types should be recognised and working afterwards.
Regarding your question about the need for an additional keyboard: What you would need to do is to configure the emulators such that you have full control with your arcade / gamepad controls only. That should be possible.
Hope that helps!