A library to connect with Nintendo Wii remotes
C
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
example-sdl
example
src
.gitignore
CHANGELOG
LICENSE
LICENSE_noncommercial
Makefile
README
wiiuse.cbp
wiiuse.layout

README

---------------------------
-
-  README - Wiiuse
-
---------------------------

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, and the Guitar Hero 3 controller.
	Single threaded and nonblocking makes a light weight and clean API.

	Distributed under the GPL and LGPL.


AUTHORS

	Michael Laforest        < para >
	Email: < thepara (--AT--) g m a i l [--DOT--] com >

	The following people have contributed patches to wiiuse:
		- dhewg


LICENSE

	There are two licenses for wiiuse.  Please read them carefully before choosing which one
	you use.  You may of course at any time switch the license you are currently using to
	the other.

	Briefly, the license options are:

		a) GNU LGPL (modified for non-commercial usage only)
		b) GNU GPL

	PLEASE READ THE LICENSES!


ACKNOWLEDGEMENTS

	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.


DISCLAIMER AND WARNINGS

	I am in no way responsible for any damages or effects, intended or not, caused by this program.

	*** WARNING *** WARNING *** WARNING ***

	Be aware that writing to memory may damage or destroy your wiimote or expansions.

	*** WARNING *** WARNING *** WARNING ***

	This program was written using reverse engineered specifications available from wiibrew.org.
	Therefore the operation of this program may not be entirely correct.
	Results obtained by using this program may vary.


AUDIENCE

	This project is intended for developers who wish to include support for the Nintendo Wii remote
	with their third party application.  Please be aware that by using this software you are bound
	to the terms of the GNU GPL.


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

	For Windows:
		- Bluetooth driver (tested with Microsoft's stack with Windows XP SP2)
		- If compiling, Microsoft Windows Driver Development Kit (DDK)


COMPILING

	Linux:
		You need SDL and OpenGL installed to compile the SDL example.

		# make [target]

		If 'target' is omitted then everything is compiled.

		Where 'target' can be any of the following:

			- wiiuse
				Compiles libwiiuse.so

			- ex
				Compiles wiiuse-example

			- sdl-ex
				Compiles wiiuse-sdl

		Become root.

		# make install

		The above command will only install the binaries that you
		selected to compile.

		wiiuse.so is installed to /usr/lib
		wiiuse-example and wiiuse-sdl are installed to /usr/bin

	Windows:
		A Microsoft Visual C++ 6.0 project file has been included.

		You need the install the Windows DDK (driver development kit)
		to compile wiiuse. Make sure you include the inc/ and lib/
		directories from the DDK in your IDE include and library paths.
		You can download this from here:
			http://www.microsoft.com/whdc/devtools/ddk/default.mspx

		You need to link the following libraries (already set in the
		included project file):
			- Ws2_32.lib
			- hid.lib
			- setupapi.lib


USING THE LIBRARY IN A THIRD PARTY APPLICATION

	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 wiiuse.so ( -lwiiuse ).
	For Windows you must link wiiuse.lib.  When your program runs it will need wiiuse.dll.


BUGS

	On Windows using more than one wiimote (usually more than two wiimotes) may cause
	significant latency.