Skip to content

Hvemmse/wii_remote_linux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

wiiremote

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.


🎯 Purpose

  • 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

✅ Status

✔ Bluetooth connection via L2CAP
✔ HID handshake
✔ Report mode 0x30 (buttons + accelerometer)
✔ Raw HID decoding
✔ Custom button mapping
✔ Tested on Debian with BlueZ


🔧 Requirements

  • Linux with Bluetooth (BlueZ)
  • Python 3
  • Nintendo Wii Remote (RVL-CNT-01)
  • No external Python libraries required

🔌 Connection details

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.


▶️ Usage

  1. Put the Wii Remote into pairing mode

    • Hold 1 + 2 (or press the SYNC button)
  2. Run the script:

    python3 wiiremote.py
    
    
    
    

wiiremote

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.


🎯 Formål

  • 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

✅ Status

✔ Bluetooth-forbindelse via L2CAP
✔ HID handshake
✔ Report 0x30 (buttons + accelerometer)
✔ Rå data dekodning
✔ Brugerdefineret knap-mapping
✔ Testet på Debian med BlueZ


🔧 Krav

  • Linux med Bluetooth (BlueZ)
  • Python 3
  • En Nintendo Wii Remote (RVL-CNT-01)
  • Ingen ekstra Python-pakker krævet

🔌 Forbindelse

Wii Remote bruger to L2CAP-kanaler:

Kanal PSM Formål
Control 0x11 Kommandoer
Interrupt 0x13 Input-data

Forbindelsen sker direkte via Python socket.


▶️ Brug

  1. Sæt Wii Remote i pairing-mode

    • Hold 1 + 2 nede (eller SYNC-knappen)
  2. Kør scriptet:

    python3 wiiremote.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages