https://github.com/bbbbbr/gameboy-usb-mouse
GBDK example of using a USB mouse with the Game Boy (via a modified Inside Gadgets usb keyboard adapter)
https://github.com/bbbbbr/gameboy-usb-mouse
Last synced: 6 months ago
JSON representation
GBDK example of using a USB mouse with the Game Boy (via a modified Inside Gadgets usb keyboard adapter)
- Host: GitHub
- URL: https://github.com/bbbbbr/gameboy-usb-mouse
- Owner: bbbbbr
- License: unlicense
- Created: 2025-08-15T04:22:39.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-08-15T05:09:21.000Z (6 months ago)
- Last Synced: 2025-08-15T06:26:43.543Z (6 months ago)
- Language: C
- Size: 10.7 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GBDK/C Mouse Example for Inside Gadgets USB adapter
Example for using a Inside Gadgets Keyboard adapter modified
to work with a mouse. The adapter is connected to the link port.
https://github.com/user-attachments/assets/03dc71b7-e846-4c97-9b48-a62c6c032300
Adapter:
https://shop.insidegadgets.com/product/gameboy-usb-keyboard-adapter/
Requires the modified firmware at:
https://github.com/bbbbbr/CH559sdccUSBHost/
Once the mouse interrupt is initialized and the data is started,
it reads the link port connected to the AVR part continually to
check for data. When data is found (non-zero) it's stored into
a ring buffer and read out from the main loop.
Each mouse transfer has 3 bytes: buttons & flags, x and y.
The CH559 firmware may be somewhat specific to some models of logitech mice
right now (M510 works). The solution may be switching connected mice into "boot"
mode. Otherwise the firmware would need be to changed on a per-device basis
depending on how the mouse packs it's buttons and movements into the HID reports.