Use a Nintendo Wii Remote on modern Linux without kernel HID, xwiimote, or cwiid.
This project talks directly to the Wii Remote over Bluetooth L2CAP using Python and decodes raw HID reports manually.
Works on modern Debian / BlueZ where classic solutions are broken.
- Use a Wii Remote on modern Linux
- No dependency on:
- xwiimote
- cwiid
- evdev
- kernel HID drivers
- Full control over:
- button handling
- mapping
- logic
- Stable solution that survives kernel and BlueZ updates
✔ Bluetooth connection via L2CAP
✔ HID handshake
✔ Report mode 0x30 (buttons + accelerometer)
✔ Raw HID decoding
✔ Custom button mapping
✔ Tested on Debian with BlueZ
- Linux with Bluetooth (BlueZ)
- Python 3
- Nintendo Wii Remote (RVL-CNT-01)
- No external Python libraries required
The Wii Remote uses two Bluetooth L2CAP channels:
| Channel | PSM | Purpose |
|---|---|---|
| Control | 0x11 |
Commands |
| Interrupt | 0x13 |
Input data |
This project connects directly using Python socket.
-
Put the Wii Remote into pairing mode
- Hold 1 + 2 (or press the SYNC button)
-
Run the script:
python3 wiiremote.py
Brug en Nintendo Wii Remote på moderne Linux uden kernel-HID, xwiimote eller cwiid.
Projektet taler direkte Bluetooth L2CAP i Python og dekoder rå HID-reports selv.
Dette virker på nyere Debian/BlueZ, hvor klassiske løsninger er brudt.
- Få Wii Remote input til at virke på moderne Linux
- Ingen afhængighed af:
- xwiimote
- cwiid
- evdev
- kernel HID
- Fuld kontrol over:
- knapper
- mapping
- logik
- Stabil løsning der ikke brydes af kernel-opdateringer
✔ Bluetooth-forbindelse via L2CAP
✔ HID handshake
✔ Report 0x30 (buttons + accelerometer)
✔ Rå data dekodning
✔ Brugerdefineret knap-mapping
✔ Testet på Debian med BlueZ
- Linux med Bluetooth (BlueZ)
- Python 3
- En Nintendo Wii Remote (RVL-CNT-01)
- Ingen ekstra Python-pakker krævet
Wii Remote bruger to L2CAP-kanaler:
| Kanal | PSM | Formål |
|---|---|---|
| Control | 0x11 |
Kommandoer |
| Interrupt | 0x13 |
Input-data |
Forbindelsen sker direkte via Python socket.
-
Sæt Wii Remote i pairing-mode
- Hold 1 + 2 nede (eller SYNC-knappen)
-
Kør scriptet:
python3 wiiremote.py