Home > android_external_cwiid

android_external_cwiid

Android_external_cwiid is a project mainly written in C and PYTHON, based on the GPL-2.0 license.

CWiiD Wiimote Connectivity library ported to android

Copyright (C) 2007 L. Donnie Smith [email protected]

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 2 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, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA


CWiid Wiimote Interface

DESCRIPTION

The CWiid package contains the following parts: 1.libcwiid - wiimote API. 2.cwiid module - python interface to libcwiid 3.wmgui - GTK gui to the wiimote. 4.wminput - an event/joystick/mouse driver for the wiimote. 5.lswm - list wiimote devices (in the spirit of ls{,pci,usb}, etc. 6.wmdemo - a minimal demonstration of the libwiimote API. (not installed)

REQUIREMENTS

awk, bison, flex, bluez-libs, gtk+-2 dev libs, python 2.4 or greater, uinput kernel support, kernel sources

INSTALLATION

./configure make sudo make install

To install global configuration files to the more familiar /etc rather than /usr/etc or /usr/local/etc, execute configure with --sysconfdir=/etc.

While CWiid is still in the early development stages, installation directories and filenames are changed more often than in a mature, stable package. In order to prevent the collection of obselete directories and files, it is recommended that you run 'make uninstall && make uninstall_config' from your current CWiid source directory before installing a new one. Files are currently installed to the following directories: /usr/local/{bin,etc,lib,lib/cwiid,lib/python2.X/site-packages,share/doc,share/man}. Recently, but no longer, used directories include /usr/share/CWiid - this directory may be deleted.

Many distributions do not have /usr/local/lib in the library search path, and on many of these same distributions, the library installation directory (as determined by autoconf) is /usr/local/lib, creating a problem when you try to run programs depending on libraries installed there. There are two clean ways to fix this: 1.Add a --prefix=/usr argument to ./configure 2.Add /usr/local/lib to /etc/ld.so.conf, then run ldconfig.

I prefer the second method since it keeps local software in the local directory where it should be, and it fixes the problem for every package using /usr/local/lib, not just CWiid. Until someone offers a convincing argument for the omission of /usr/local/lib from /etc/ld.so.conf, I consider this to be a distribution bug, and method #2 above is the fix.

Please report any compilation errors at http://www.abstrakraft.org/cwiid or to [email protected], with preference for the former.

EXECUTION

wmgui [-h] [bdaddr] wminput [-h] [-c config] [bdaddr]

The bluetooth device address (bdaddr) of the wiimote can be specified on the command-line, or through the WIIMOTE_BDADDR environment variable, in that order of precedence. If neither is given, the first wiimote found by hci_inquiry will be used. See wminput/README for more information on wminput configuration and execution.

FUTURE IDEAS/IMPROVEMENTS

The following list is neither complete nor ordered: wmcp (copy data between files and wiimotes) Move wiimote communications into a separate daemon (wiimoted) with which applications communicate via sockets (or some other means) wmgui logging Implement speaker gui/control interface to wminput Implement other drivers such as gesture recognition.

Previous:test1