Comments (5)
I'm very open to receiving PRs ;) Hopefully this help a bit:
Usage page is only stored as a 8bits value in the hid_parser stack:
BlueRetro/main/adapter/hid_parser.c
Lines 16 to 22 in 3c45c15
Would make sense to upgrade it to 32bits since everything else is that, including the global structure used in all other module:
BlueRetro/main/adapter/adapter.h
Lines 469 to 477 in 3c45c15
You would need to cast the pointer to uint16_t * to grab the full value.
hid_stack[hid_stack_idx].usage_page = *(uint16_t *)desc;;
desc += 2;
Then after that you would likely need to edit the generic rumble code to support that usage_page/usage combination:
BlueRetro/main/adapter/wireless/hid_generic.c
Lines 700 to 786 in 3c45c15
from blueretro.
Thanks for the pointers! I probably won't have time to get around to this for a few weeks, since I don't have the ESP-IDF environment set up and will be quite busy. That said, it looks like a good idea to support 32-bit usage pages, so I'll give that a shot when I have the chance.
Either way, it looks as if the values are little-endian, so 0x06, 0x0F, 0x00
should be synonymous with 0x05, 0x0F
, meaning we shouldn't have to modify anything else for this to work with Stadia. In fact, the largest usage page I can find in the HID docs is 0x91, so switching this to 32-bits (instead of dropping the extra bytes) is good for future-proofing, but otherwise unnecessary.
from blueretro.
Yes indeed it was simply the same value using a bigger sized var.
Rumble.work now!
https://github.com/darthcloud/BlueRetro/actions/runs/8808673421
from blueretro.
Nice! I didn't realize you had already merged the fix in. I modified the code earlier today but wasn't able to test it until just now. Thank you!
from blueretro.
Fixed in v24.04
from blueretro.
Related Issues (20)
- NES Multitap random button Presses on NES Frontloader HOT 4
- adapter wont work on ps2 HOT 1
- N64&NSO controller - Rumble doesn't work at all in game HOT 8
- [24.04] Reset Power-Off Doesn't Trigger As Expected HOT 1
- brawler64 nso rumble issue
- 6 button config doesn't work on PC Engine Duo R
- Can't play Golden Axe The Duel on Saturn due to Gamepad type HOT 4
- Right Trigger wont work HOT 1
- Some games don't recognize the virtual VMU
- BSP-Y02 issues after restart console
- 8BitDo bluetooth for Saturn is different map
- Virtual VMU isn't detected unless real controller is also connected
- BlueRetro doesn't work with the Saturn version of Castlevania: Symphony of the Night HOT 1
- Analog Trigger Not Working On GameCube HOT 13
- DS3 Vibration Delay v24.06-beta-22 HOT 4
- bug on 8bitdo ultimate 2.4g/BT HOT 1
- Random Left stick input DS3 v24.06-beta-24 HOT 1
- Support request for Brook Wireless Fighting Board
- Universal Firmware detecting Dreamcast as 3DO
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from blueretro.