When using Parsec, with a keyboard, a mouse and a gamepad on the client side, the (client's) mouse and gamepad are registered by GameInput on the host side but not the (client's) keyboard (obviously the client's keyboard can be used on the host in any application like Notepad...).
I'm using RegisterDeviceCallback with GameInput::v2::GameInputDeviceConnected and GameInput::v2::GameInputAsyncEnumeration as parameters.