How does keyboard input for a VM works

I tried to setup kloak GitHub - vmonaco/kloak: Keystroke-level online anonymization kernel: obfuscates typing behavior at the device level. on a whonix vm, but it doesn’t work with an error “Unable to find any keyboards or mice. Specify which input device(s) to use with -r”.

I guess this is due to the special input proxy mechanism of qubes. I want to know does a vm accept keyboard input from dom0? What should I do to make kloak correctly intercept the keyboard input?