Files
libwiiuse/README.mkd
2011-06-20 10:49:03 -05:00

192 lines
5.3 KiB
Markdown

WiiUse README
=============
Fork, located at <http://github.com/rpavlik/wiiuse>
Changelog: <https://github.com/rpavlik/wiiuse/blob/master/CHANGELOG.mkd>
Original project:
- <http://wiiuse.net/>
- <http://wiiuse.sourceforge.net/>
- <http://sourceforge.net/projects/wiiuse/>
About
-----
Wiiuse is a library written in C that connects with several Nintendo
Wii remotes. Supports motion sensing, IR tracking, nunchuk, classic
controller, Balance Board, and the Guitar Hero 3 controller. Single
threaded and nonblocking makes a light weight and clean API.
Distributed under the GPL 3+.
This is a friendly fork, prompted by apparent non-maintained status
of upstream project but proliferation of ad-hoc forks without
project infrastructure. Balance board support has been merged from
[TU-Delft][1] cross-referenced with other similar implementations in
embedded forks of WiiUse in other applications. Additional community
contributions have since been merged. Hopefully GitHub will help the
community maintain this project more seamlessly now.
Patches and improvements are greatly appreciated - the easiest way
to submit them is to fork the repository on GitHub and make the
changes, then submit a pull request. The "fork and edit this file"
button on the web interface should make this even simpler.
[1]: http://graphics.tudelft.nl/Projects/WiiBalanceBoard
Authors
-------
Fork Maintainer: Ryan Pavlik <rpavlik@iastate.edu> or <abiryan@ryand.net>
Original Author: Michael Laforest < para > < thepara (--AT--) g m a i l [--DOT--] com >
Additional Contributors:
- dhewg
- Christopher Sawczuk @ TU-Delft (initial Balance Board support)
- Paul Burton <https://github.com/paulburton/wiiuse>
- Karl Semich <https://github.com/xloem>
- Johannes Zarl <johannes.zarl@jku.at>
- hartsantler <http://code.google.com/p/rpythonic/>
License
-------
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Audience
--------
This project is intended for developers who wish to include support
for the Nintendo Wii remote with their third party application.
Platforms and Dependencies
--------------------------
Wiiuse currently operates on both Linux and Windows. You will need:
### For Linux: ###
- The kernel must support bluetooth
- The BlueZ bluetooth drivers must be installed
- If compiling, you'll need the BlueZ dev files (Debian/Ubuntu package
libbluetooth-dev)
### For Windows: ###
- Bluetooth driver (tested with Microsoft's stack with Windows XP SP2)
- If compiling, Microsoft Windows Driver Development Kit (DDK)
### For either platform: ###
- If compiling, [CMake](http://cmake.org) is needed to generate a makefile/project
Compiling
---------
You need SDL and OpenGL installed to compile the (optional) SDL example.
### Linux: ###
$ cd build
$ ccmake .. [-DCMAKE_INSTALL_PREFIX=/usr/local] [-DCMAKE_BUILD_TYPE=Release]
OR
$ cmake-gui ..
$ make [target]
If `target` is omitted then everything is compiled.
Where `target can be any of the following:
- *wiiuse* - Compiles libwiiuse.so
- *wiiuseexample* - Compiles wiiuse-example
- *wiiuseexample-sdl* - Compiles wiiuse-sdl
- *doc* - Generates doxygen-based API documentation in HTML and PDF
format in `docs-generated`
Become root.
# make install
`libwiiuse.so` is installed to `CMAKE_INSTALL_PREFIX/lib`
`wiiuse-example` and `wiiuse-sdl` are installed to `CMAKE_INSTALL_PREFIX/bin`
### Windows: ###
The CMake GUI can be used to generate a Visual Studio solution.
You need the install the Windows DDK (driver development kit) to compile
wiiuse. You can download this from here:
<http://www.microsoft.com/whdc/devtools/ddk/default.mspx>
You might also need to install the latest Windows SDK.
Using the Library
-----------------
To use the library in your own program you must first compile wiiuse as
a module. Include `include/wiiuse.h` in any file that uses wiiuse.
For Linux you must link `libwiiuse.so` ( `-lwiiuse` ). For Windows you
must link `wiiuse.lib`. When your program runs it will need
`wiiuse.dll`.
Known Issues
------------
On Windows using more than one wiimote (usually more than two wiimotes)
may cause significant latency.
Acknowledgements by Michael Laforest
------------------------------------
<http://wiibrew.org/>
> This site and their users have contributed an immense amount of
> information about the wiimote and its technical details. I could
> not have written this program without the vast amounts of
> reverse engineered information that was researched by them.
Nintendo
> Of course Nintendo for designing and manufacturing the Wii and Wii remote.
BlueZ
> Easy and intuitive bluetooth stack for Linux.
Thanks to Brent for letting me borrow his Guitar Hero 3 controller.