blob: b06bb9620f90730f289ad1f8705d8110ae8eaabf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
|
---------------------------
-
- 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.
|