https://github.com/ticky/roadii
Automatic Linux Wii guitar remapping using evsieve
https://github.com/ticky/roadii
evdev evsieve guitar-hero linux rock-band steam-deck steamos wii wiimote
Last synced: about 1 month ago
JSON representation
Automatic Linux Wii guitar remapping using evsieve
- Host: GitHub
- URL: https://github.com/ticky/roadii
- Owner: ticky
- Created: 2024-01-24T07:26:43.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-15T02:58:38.000Z (10 months ago)
- Last Synced: 2025-05-08T22:15:12.117Z (about 1 month ago)
- Topics: evdev, evsieve, guitar-hero, linux, rock-band, steam-deck, steamos, wii, wiimote
- Language: Rust
- Homepage:
- Size: 9.77 KB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# Roadii
Automatic Linux Wii guitar remapping using `evsieve`
## Requirements
This is built with SteamOS as its primary consumer. Specifics will differ per distro. I develop for SteamOS in an Arch Linux container using [Distrobox](https://distrobox.it), and for Bazzite in a Fedora toolbox container using [toolbx](https://containertoolbx.org).
- Rust
- `libudev`
- [`evsieve`](https://github.com/KarsMulder/evsieve)
- `libevdev`
- `pkg-config`### One-Liners
#### Arch Linux
```bash
sudo pacman -S rust systemd-libs libevdev pkgconf
```#### Fedora
```bash
sudo dnf install cargo systemd-devel libevdev libevdev-devel
```### Hardware
This is tested with a Wii MotionPlus Wiimote, and a Guitar Hero World Tour guitar. It should work with the other Guitar Hero Wii guitars (which have a slot for a Wiimote), and other Wiimotes, as long as both are recognised by the Linux kernel, though they have not been tested.
## Setup
Provided in the `etc` folder are an example udev rule and systemd service to automatically run Roadii when a supported Wii guitar controller is connected. This presumes you are using SteamOS, adapting to other Linux systems is left as an exercise for the reader.
1. Install `roadii` and `evsieve` executables to `/home/deck/bin`
2. Copy `etc/systemd/system/[email protected]` to `/etc/systemd/system`, and `etc/udev/rules.d/99-roadii.rules` to `/etc/udev/rules.d`.
3. Reload the udev rules with `sudo udevadm control --reload`Now you're ready to connect your Wii guitar via Bluetooth!
## Usage
With the udev rules and systemd service configured, the guitar will appear as several devices; ignore any which mention Nintendo, as `evsieve` has taken exclusive access to them - the one you care about now is simply called "Wiitar".
It's configured to match a PlayStation 3 guitar controller as closely as possible, providing a reasonble mapping for both navigating SteamOS, emulators, and your game of choice.
## Caveats
- Only one connected Wii guitar controller is supported