2

I am making a UWP app that runs on an Arrow Dragonboard. The Dragonboard is running Windows IoT (10.0.17763.1)

I've plugged a USB joystick into the Dragonboard, but Windows doesn't seem to detect it.

var rawInputController = Windows.Gaming.Input.RawGameController.RawGameControllers.FirstOrDefault();
//rawInputController is null

If I run my app on my local machine, and plug the same joystick into my PC, the joystick IS detected.

Is there something that I need to configure on the Dragonboard in order for this to work?

Richard Chambers
  • 16,643
  • 4
  • 81
  • 106
Dave
  • 3,676
  • 4
  • 28
  • 39
  • Hi Dave, can you see your joystick appears in the connected devices list on Windows IoT Core DefaultApp? We can see from [Hardware compatibility list](https://learn.microsoft.com/en-us/windows/iot-core/learn-about-hardware/hardwarecompatlist) that Microsoft Xbox 360 Controller is compatible with Windows 10 IoT Core. What's kind of your joystick? – Rita Han Nov 19 '18 at 09:23
  • Hi Rita, sorry for the delay. My joystick shows up in Connected Devices as "USB Mulitimedia Keyboard". I am using this joystick that I purchased from Amazon. It's a DIY kit, but it's supposed to function as a standard USB joystick. https://www.amazon.ca/gp/product/B06XC7PPQQ/ref=oh_aui_detailpage_o05_s00?ie=UTF8&psc=1 – Dave Nov 27 '18 at 02:03
  • Hi Dave, you can check from your PC device manager when you plug the joystick that which driver files (device properties->driver->driver details) the device use. Then to see if you can find all these file on Windows IoT Core device. BTW, the device shows as "USB Mulitimedia Keyboard" on PC? – Rita Han Nov 27 '18 at 08:35
  • In Device Manager on my PC, the joystick is listed as "HID-compliant-game controller", and when I click on Driver Details, I get a message that says "No driver files are required or have been loaded for this device.". If I enumerate all devices on my PC by using `Windows.Devices.Enumeration.DeviceInformation.FindAllAsync()` the device name is "Generic USB Joystick". – Dave Nov 28 '18 at 00:08

1 Answers1

1

I solved it by modifying the package manifest of my UWP app. I added the following lines to the <Cabailities> node.

<DeviceCapability Name="humaninterfacedevice">
  <Device Id="any">
    <Function Type="usage:0004 *"/>
    <Function Type="usage:0005 *"/>
  </Device>
</DeviceCapability>

This doesn't seem to be a requirement on PC, but it is required for the Dragonboard.

Dave
  • 3,676
  • 4
  • 28
  • 39