tsoding / grub-gamepad

Ongoing effort to bring gamepad/joystick support to GRUB 2 (because reasons)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tsoding

Gamepad support for GRUB

Supported Gamepads

  • Logitech Rumble Gamepad F510 in DirectInput mode

Quick Start

$ git clone --recursive git@github.com:tsoding/grub-gamepad.git
$ nix-shell     # On NixOS

$ cd grub/
$ ./bootstrap
$ ./configure
$ make -j5

$ cd ..
$ make -B
$ qemu-system-i386 -cdrom test.iso

Connecting Gamepad via USB

VirtualBox

  • Create Virtual Machine with 256MB of RAM and no HDD
  • Attach the test.iso as Live CD
  • Connect a Gamepad as an OHCI device.
  • Start the machine to load into GRUB
grub> nativedisk pata
grub> nativedisk ohci
grub> insmod usb_gamepad
grub> terminal_input usb_gamepad

QEMU

$ lsusb
$ sudo qemu-system-i386 -usb -device usb-host,hostbus=<gamepad-bus>,hostaddr=<gamepad-addr> -cdrom test.iso # Alternatively, you can reference your device by its ids -device usb-host,vendorid=<gamepad-vendorid>,productid=<gamepad-productid> 
grub> nativedisk pata
grub> nativedisk uhci
grub> insmod usb_gamepad
grub> terminal_input usb_gamepad

Architecture

Adding New Module

TBD

Registering New Terminal Input

TBD

Attaching to a USB device

TBD

References

Support

You can support my work via

About

Ongoing effort to bring gamepad/joystick support to GRUB 2 (because reasons)


Languages

Language:Nix 48.7%Language:Shell 38.3%Language:Makefile 12.9%