I want to detect whether the player is using touchscreen, keyboard or gamepad as the current input device.
For touch screen, I can use TouchCollection.AnyTouch().
For keyboard, I found in this post that I can use this line
if (Keyboard.GetState().GetPressedKeys().Length > 0)
The problem with this method is that it cannot differentiate keyboard input and gamepad input – any gamepad input will make
Keyboard.GetState().GetPressedKeys().Length larger than 0.
For gamepad input, well, I found nothing…
So here is the question: is there an elegant way to detect any keyboard input and gamepad input?