Añadiendo el Wiimote a los scripts de PyGame

Pues eso, veamos como podemos hacer para añadir de forma fácil la posibilidad de usar el Wiimote en los scripts que usan PyGame modificando mínimamente el código.

La idea es muy simple, el sistema de eventos de PyGame permite añadir eventos desde fuera, mezclando eso con el sistema de callbacks de cwiid ( la librería para manejar el Wiimote ) podemos hacer como si se pulsasen teclas del teclado desde el Wiimote, los eventos se pueden crear así:

ev = pygame.event.Event( , { "key": } )

Y después solo hay que añadirlos con:

pygame.event.post( ev )

Entonces el script quedaría algo como esto [ wii4pygame.py ], solo hay que hacer bind_wiimote(), opcionalmente mandando el número del led a activar ( 1 por defecto ), por ejemplo:

import wii4pygame

print "Pulsa [1] y [2]"

wmote = wii4pygame.bind_wiimote( ) # Salvar el wiimote del recolector de basura

Y ya se puede usar el wiimote, pygame capturará los eventos

for event in pygame.event.get():

...

Genera eventos de tipo KEYDOWN o KEYUP según se pulsen o liberen botones Las teclas pulsadas se "mapean" así ( wiimote: evento ) :

* A : 'A'

* B : 'B'

* 1 : '1'

* 2 : '2'

* +: '+'

* - : '-'

* Home: K_HOME

* ↑ :K_UP

* ↓ :K_DOWN

* ← :K_LEFT
*
* → :K_RIGHT
*

Y yastá, hale

untagged

Controlando el reproductor Totem desde el Wiimote » « Disionario morrasense en fortunes [ desvarío ]