Le specifiche del protocollo di comunicazione del Wiimote non sono pubbliche, ma poiché le stesse risultano conforme al protocollo Bluetooth HID molti sviluppatori si sono cimentati alla realizzazione di una specifica libreria di comunicazione.
A questo riguardo possiamo senza dubbio ricordare Wiiuse, sviluppato in C con licenza GPLv3 e LGPLv3 per piattaforme di tipo Linux like e Windows.
La libreria Wiiuse è stata realizzata per interfacciare un singolo thread e non risulta bloccante per le proprie applicazioni.
Non solo, è stata sviluppata una versione in Java, la WiiuseJ, con licenza di distribuzione GPLv3 e anche WiiuseJ si basa su Linux e Windows.
Esiste anche la libreria DarwinRemote realizzata in Objective C e la WiiremoteJ distribuita con licenza Freeware con nessuna possibilità di intervenire sul codice sorgente. Il linguaggio utilizzato è Java su sistema operativo Linux, Windows e OSX. Questa libreria ha la necessità di utilizzare una libreria che implementi lo standard JSR-82.
Per ultimo possiamo ricordare la Wiigee, sempre scritta in Java, su piattaforme operative Linux Like, Windows e OSX. Così, come le altre, anche questa piattaforma di lavoro deve utilizzare una libreria per garantire l’uso dello standard JSR-82. Non solo, Wiigee permette anche di riconoscere il tipo di movimento utilizzato impugnando Wiimote.
Wiiuse offre una buona compatibilità con Linux e con il driver Bluetooth nativo del kernel 2.6 (Bluez) e si utilizza il linguaggio C come piattaforma di sviluppo.
Aspetto da non trascurare è la possibilità di utilizzare e modificare il codice sorgente della libreria. In effetti, ilcodice sorgente risulta disponibile e ben documentato, con licenza open.
Per la maggior parte delle nostre applicazioni di tipo didattico, Wiiuse fornisce tutte le primitive indispensabili.
Per una guida completa delle funzioni e delle strutture dati di Wiiuse è necessario leggere la documentazione disponibile sul sito ufficiale.
Una volta compilate e installate, per utilizzare le librerie Wiiuse in ambiente Linux, usando come compilatore GCC, è sufficiente includere il file wiiuse.h e compilare il proprio eseguibile con il flag -lwiiuse.