Library to interface with the wiimote https://github.com/ivanperez-keera/hcwiid

Latest on Hackage:

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

GPL-2 licensed and maintained by Ivan Perez

Flattr this git repo

This is a refurbished version of hcwiid. It will include most of cwiid, and I've already begun to include extra functions that I find useful. If you find something in cwiid which is not included here and you need it, please let me know/send a pull request.


The official announcement, which describes the available features, can be found here: http://keera.co.uk/blog/2014/05/27/interacting-haskell-games-using-wiimote/


You can either run cabal update and install directly from hackage (recommended), or clone this repository and install it with cabal.

Compiling programs that use the wiimote (special flags)!

How the frag do I compile the tests in test/?

You need to do two things:

  1. Compile the program with -rtsopts (enable RTS command line flags)

  2. Run the program with +RTS -V0 This will disable the internal ticks used for profiling, which in turn will make the runtime system not use the SIGALRM signal, which libluetooth uses for its own internal purposes and is necessary to connect to the wiimote.

    (This bit is the work of Paolo Capriotti, whose mastery of GHC baffles me every time.)

Projects using this

  • Carettah (http://carettah.masterq.net/)
  • Haskanoid (https://github.com/ivanperez-keera/haskanoid)


  • Locate more projects using this. (I am personally working on some games that will be published.)
  • Write a decent example that uses more than just testing a button thing.


2017-04-27 Ivan Perez <ivan.perez@keera.co.uk>

* Adds project to Travis CI.
* Fixes error in Cabal file.
* Version bump (

2014-06-04 Ivan Perez <ivan.perez@keera.co.uk>

* Adds project to hudson-backed continuous integration server.

2014-05-28 Ivan Perez <ivan.perez@keera.co.uk>

* hcwiid.cabal: Version bump. Removed original author upon
request (credit is still given in the AUTHORS file).

2014-05-20 Ivan Perez <ivan.perez@keera.co.uk>

* API: adds infrared tracking support
* Tests: adapts test to report IR data

2014-05-17 Ivan Perez <ivan.perez@keera.co.uk>

* API: adds accelerometer sensing.
* API: uses newtype for leds instead of the low-level CUChar
* Tests: adapts tests to use new rpt_mode and
set_led interface.
* Documentation: adds (some) haddock documentation.

2014-05-05 Ivan Perez <ivan.perez@keera.co.uk>

* API: removes hard-coded params to SetLed and SetRptMode

2014-05-01 Ivan Perez <ivan.perez@keera.co.uk>

* hcwiid.cabal: Version bump (0.0.3)
* API: adds test function to determine if a button is pushed (down).

2014-05-01 Ivan Perez <ivan.perez@keera.co.uk>

* hcwiid.cabal: Version bump. Adds new maitainer, repo, extra files.
* API: adds set_rumble.
Depends on:
Used by 2 packages:
comments powered byDisqus