Next release is about gamepads, get a preview here #147
Replies: 4 comments 9 replies
-
|
Looks like we'll be getting Bluetooth Classic support for gamepads on the W. Just need to bolt down some UI. |
Beta Was this translation helpful? Give feedback.
-
|
Could this potentially lead to Bluetooth audio device support? |
Beta Was this translation helpful? Give feedback.
-
|
Hey Rumble! I tested the Gamepad preview OS. My results were mixed. For reference, my USB gamepad (and have just one, by the way) is a cheapie 'iNNEXT' model, that has a four-way 'up/down/left/right' push mechanism, Select & Start buttons, buttons for 'X, Y, A, B' and for 'L' & 'R'. Up gave ly -128 & L:N Select gave L2 & lt 255 X was read as A L button was L1 |
Beta Was this translation helpful? Give feedback.
-
|
Here's a new release with BLE. Type Bluetooth devices don't usually support boot mode so I am now parsing and using HID descriptors. Keyboards, mice, and gamepads all use HID regardless if it's USB or Bluetooth. I had to rewrite a significant amount of input handling code to accommodate this. As a bonus, n-key rollover should work now. Everything is the same during usage, but it's possible devices that used to work will need to be fixed. There are three classes of problems:
I cannot fix TinyUSB or button mappings because I do not have the necessary resources. I can fix a mouse or keyboard regression if you provide the HID report descriptor. Note that I will not hound you for information. If you aren't forthcoming with the HID report descriptor for your device, expect to be ignored. (https://github.com/todbot/win-hid-dump) |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Gamepad support hasn't been great because I couldn't figure it out. Turns out if you don't know and implement certain USB incantations then you can't get in the door. I guess it's because both the host and device are trying to agree on a protocol for which there's no standard handshake so they both have various hacks you have to guess about. Fortunately, a big one was fixed recently:
Fix(host) enumeration with 8bitdo devices
This opened the door for me to build a framework to support modern gamepads in a way that doesn't need configuration. Windows, Xbox, Playstation, and Switch all have basically the same gamepad. So that's what I normalized to. See the gamepad documentation for more information.
Attached is a preview build with a gamepad tester. Let me know if you have a good experience or if the USB stack lets you down. I also attached a pack of toys.
rp6502_gamepad_preview.zip
toys.zip
Beta Was this translation helpful? Give feedback.
All reactions