XInput selects non-virtual non-XTEST devices and queries their state

|SOURCE|
[Linux/System/InputManager]
* No longer is the input for individual devices using the X event system,
  instead it uses the XQueryDeviceState interface to get the device's input
* Devices reported as "XTEST Device" or "Virtual Device" are not considered as
  being "real" devices, as such they are not added to the input list
* Keyboard input is working as it would if the unified device were used, except
  it reports only for one keyboard device
* The pointer is not currently functioning (as the position is relative to the
  root window, resulting in the co-ordinates not being correct if centering to
  a window, for example)
[Common/System/Keyboard]
* State member function verifies the state parameter is a valid pointer before
  attempting to copy the key array