diff options
Diffstat (limited to 'misc/cwiid/add_other_plugins_#487498.patch')
-rw-r--r-- | misc/cwiid/add_other_plugins_#487498.patch | 394 |
1 files changed, 0 insertions, 394 deletions
diff --git a/misc/cwiid/add_other_plugins_#487498.patch b/misc/cwiid/add_other_plugins_#487498.patch deleted file mode 100644 index c9d28963a1..0000000000 --- a/misc/cwiid/add_other_plugins_#487498.patch +++ /dev/null @@ -1,394 +0,0 @@ -Index: cwiid-0.6.00+svn184.orig/wminput/plugins/Makefile.in -=================================================================== ---- cwiid-0.6.00+svn184.orig.orig/wminput/plugins/Makefile.in 2008-06-24 21:43:05.000000000 +0200 -+++ cwiid-0.6.00+svn184.orig/wminput/plugins/Makefile.in 2009-03-27 13:15:50.000000000 +0100 -@@ -2,7 +2,7 @@ - - include @top_builddir@/defs.mak - --PLUGINS = ir_ptr acc nunchuk_acc led nunchuk_stick2btn -+PLUGINS = ir_ptr ir_fps acc nunchuk_acc led nunchuk_stick2btn nunchuk_kb - - all install clean distclean uninstall: TARGET += $(MAKECMDGOALS) - -Index: cwiid-0.6.00+svn184.orig/wminput/plugins/ir_fps/Makefile.in -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ cwiid-0.6.00+svn184.orig/wminput/plugins/ir_fps/Makefile.in 2009-03-27 13:15:50.000000000 +0100 -@@ -0,0 +1,15 @@ -+#Copyright (C) 2007 L. Donnie Smith -+ -+include @top_builddir@/defs.mak -+ -+PLUGIN_NAME = ir_fps -+SOURCES = ir_fps.c -+CFLAGS += -I@top_builddir@/wminput -I@top_builddir@/libcwiid -+INST_DIR = $(CWIID_PLUGINS_DIR) -+ -+include $(COMMON)/include/plugin.mak -+ -+distclean: clean -+ rm Makefile -+ -+.PHONY: distclean -Index: cwiid-0.6.00+svn184.orig/wminput/plugins/ir_fps/ir_fps.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ cwiid-0.6.00+svn184.orig/wminput/plugins/ir_fps/ir_fps.c 2009-03-27 13:15:50.000000000 +0100 -@@ -0,0 +1,162 @@ -+/* Copyright (C) 2007 L. Donnie Smith <cwiidabstrakraft.org> -+ * -+ * 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 -+ * -+ */ -+ -+#include "wmplugin.h" -+ -+#define DEBOUNCE_THRESHOLD 50 -+ -+//deadzone is a circle of diameter a 10th of the screen -+#define DEADZONE (CWIID_IR_X_MAX*CWIID_IR_X_MAX+CWIID_IR_Y_MAX*CWIID_IR_Y_MAX)/100 -+ -+//speed is here -+#define XSPEED 10/(CWIID_IR_X_MAX/2) -+#define YSPEED 10/(CWIID_IR_Y_MAX/2) -+ -+cwiid_wiimote_t *wiimote; -+ -+static struct wmplugin_info info; -+static struct wmplugin_data data; -+ -+wmplugin_info_t wmplugin_info; -+wmplugin_init_t wmplugin_init; -+wmplugin_exec_t wmplugin_exec; -+ -+struct wmplugin_info *wmplugin_info() { -+ static unsigned char info_init = 0; -+ -+ if (!info_init) { -+ info.button_count = 0; -+ info.axis_count = 2; -+ info.axis_info[0].name = "X"; -+ info.axis_info[0].type = WMPLUGIN_REL; -+ info.axis_info[0].max = CWIID_IR_X_MAX; -+ info.axis_info[0].min = 0; -+ info.axis_info[0].fuzz = 0; -+ info.axis_info[0].flat = 0; -+ info.axis_info[1].name = "Y"; -+ info.axis_info[1].type = WMPLUGIN_REL; -+ info.axis_info[1].max = CWIID_IR_Y_MAX; -+ info.axis_info[1].min = 0; -+ info.axis_info[1].fuzz = 0; -+ info.axis_info[1].flat = 0; -+ info.param_count = 0; -+ info_init = 1; -+ } -+ return &info; -+} -+ -+int wmplugin_init(int id, cwiid_wiimote_t *arg_wiimote) -+{ -+ wiimote = arg_wiimote; -+ -+ data.buttons = 0; -+ -+ if (wmplugin_set_rpt_mode(id, CWIID_RPT_IR)) { -+ return -1; -+ } -+ -+ return 0; -+} -+ -+struct wmplugin_data *wmplugin_exec(int mesg_count, union cwiid_mesg mesg[]) -+{ -+ static int src_index = -1; -+ static int debounce = 0; -+ static uint8_t old_flag; -+ -+ int i; -+ uint8_t flag; -+ struct cwiid_ir_mesg *ir_mesg; -+ int dx, dy; -+ -+ ir_mesg = NULL; -+ for (i=0; i < mesg_count; i++) { -+ if (mesg[i].type == CWIID_MESG_IR) { -+ ir_mesg = &mesg[i].ir_mesg; -+ } -+ } -+ -+ if (!ir_mesg) { -+ return NULL; -+ } -+ -+ /* invalidate src index if source is no longer present */ -+ if ((src_index != -1) && !ir_mesg->src[src_index].valid) { -+ if (debounce > DEBOUNCE_THRESHOLD) { -+ src_index = -1; -+ } -+ else { -+ debounce++; -+ } -+ } -+ else { -+ debounce = 0; -+ } -+ -+ /* of not set, pick largest available source */ -+ if (src_index == -1) { -+ for (i=0; i < CWIID_IR_SRC_COUNT; i++) { -+ if (ir_mesg->src[i].valid) { -+ if ((src_index == -1) || -+ (ir_mesg->src[i].size > ir_mesg->src[src_index].size)) { -+ src_index = i; -+ } -+ } -+ } -+ } -+ -+ /* LEDs */ -+ switch (src_index) { -+ case 0: -+ flag = CWIID_LED1_ON; -+ break; -+ case 1: -+ flag = CWIID_LED2_ON; -+ break; -+ case 2: -+ flag = CWIID_LED3_ON; -+ break; -+ case 3: -+ flag = CWIID_LED4_ON; -+ break; -+ default: -+ flag = 0; -+ break; -+ } -+ if (flag != old_flag) { -+ cwiid_set_led(wiimote, flag); -+ old_flag = flag; -+ } -+ -+ if ((src_index == -1) || !ir_mesg->src[src_index].valid) { -+ data.axes[0].valid = data.axes[1].valid = 0; -+ } -+ else { -+ data.axes[0].valid = data.axes[1].valid = 1; -+ dx = CWIID_IR_X_MAX/2 - ir_mesg->src[src_index].pos[CWIID_X]; -+ dy = ir_mesg->src[src_index].pos[CWIID_Y] - CWIID_IR_Y_MAX/2; -+ if (dx*dx+dy*dy > DEADZONE){ -+ data.axes[0].value = dx*XSPEED; -+ data.axes[1].value = dy*YSPEED; -+ }else { -+ data.axes[0].value = 0; -+ data.axes[1].value = 0; -+ } -+ } -+ return &data; -+} -Index: cwiid-0.6.00+svn184.orig/wminput/plugins/nunchuk_kb/Makefile.in -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ cwiid-0.6.00+svn184.orig/wminput/plugins/nunchuk_kb/Makefile.in 2009-03-27 13:15:50.000000000 +0100 -@@ -0,0 +1,16 @@ -+#Copyright (C) 2007 L. Donnie Smith -+ -+include @top_builddir@/defs.mak -+ -+PLUGIN_NAME = nunchuk_kb -+SOURCES = nunchuk_kb.c -+CFLAGS += -I@top_builddir@/wminput -I@top_builddir@/libcwiid -+LDLIBS += -lm -+INST_DIR = $(CWIID_PLUGINS_DIR) -+ -+include $(COMMON)/include/plugin.mak -+ -+distclean: clean -+ rm Makefile -+ -+.PHONY: distclean -Index: cwiid-0.6.00+svn184.orig/wminput/plugins/nunchuk_kb/nunchuk_kb.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ cwiid-0.6.00+svn184.orig/wminput/plugins/nunchuk_kb/nunchuk_kb.c 2009-03-27 13:15:50.000000000 +0100 -@@ -0,0 +1,116 @@ -+/* Copyright (C) 2007 L. Donnie Smith <cwiid@abstrakraft.org> -+ * -+ * 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 -+ * -+ */ -+ -+#include <math.h> -+ -+#include "wmplugin.h" -+ -+/* Button flags */ -+#define STICK_KEY_UP 0x0001 -+#define STICK_KEY_DOWN 0x0002 -+#define STICK_KEY_RIGHT 0x0004 -+#define STICK_KEY_LEFT 0x0008 -+#define STICK_MID_VAL 128 -+#define STICK_NEUTRAL 20 -+ -+static unsigned char info_init = 0; -+static struct wmplugin_info info; -+static struct wmplugin_data data; -+ -+static cwiid_wiimote_t *wiimote; -+ -+static struct acc_cal acc_cal; -+static int plugin_id; -+ -+wmplugin_info_t wmplugin_info; -+wmplugin_init_t wmplugin_init; -+wmplugin_exec_t wmplugin_exec; -+static void process_nunchuk(struct cwiid_nunchuk_mesg *mesg); -+ -+static float Roll_Scale = 1.0; -+static float Pitch_Scale = 1.0; -+static float X_Scale = 1.0; -+static float Y_Scale = 1.0; -+ -+struct wmplugin_info *wmplugin_info() { -+ if (!info_init) { -+ info.button_count = 4; -+ info.button_info[0].name = "Up"; -+ info.button_info[1].name = "Down"; -+ info.button_info[2].name = "Right"; -+ info.button_info[3].name = "Left"; -+ info.axis_count = 0; -+ info_init = 1; -+ } -+ return &info; -+} -+ -+int wmplugin_init(int id, cwiid_wiimote_t *arg_wiimote) -+{ -+ plugin_id = id; -+ wiimote = arg_wiimote; -+ data.buttons = 0; -+ data.axes[0].valid = 1; -+ data.axes[1].valid = 1; -+ if (wmplugin_set_rpt_mode(id, CWIID_RPT_STATUS | CWIID_RPT_NUNCHUK)) { -+ return -1; -+ } -+ -+ return 0; -+} -+ -+struct wmplugin_data *wmplugin_exec(int mesg_count, union cwiid_mesg mesg[]) -+{ -+ int i; -+ enum cwiid_ext_type ext_type = CWIID_EXT_NONE; -+ struct wmplugin_data *ret = NULL; -+ -+ for (i=0; i < mesg_count; i++) { -+ switch (mesg[i].type) { -+ case CWIID_MESG_STATUS: -+ if ((mesg[i].status_mesg.ext_type == CWIID_EXT_NUNCHUK) && -+ (ext_type != CWIID_EXT_NUNCHUK)) { -+ if (cwiid_get_acc_cal(wiimote, CWIID_EXT_NUNCHUK, &acc_cal)) { -+ wmplugin_err(plugin_id, "calibration error"); -+ } -+ } -+ ext_type = mesg[i].status_mesg.ext_type; -+ break; -+ case CWIID_MESG_NUNCHUK: -+ process_nunchuk(&mesg[i].nunchuk_mesg); -+ ret = &data; -+ break; -+ default: -+ break; -+ } -+ } -+ -+ return ret; -+} -+ -+static void process_nunchuk(struct cwiid_nunchuk_mesg *mesg) -+{ -+ double stx=(double)mesg->stick[CWIID_X]; -+ double sty=(double)mesg->stick[CWIID_Y]; -+ data.buttons=0; -+ if (sty > STICK_MID_VAL+STICK_NEUTRAL) data.buttons |= STICK_KEY_UP; -+ if (sty < STICK_MID_VAL-STICK_NEUTRAL) data.buttons |= STICK_KEY_DOWN; -+ if (stx > STICK_MID_VAL+STICK_NEUTRAL) data.buttons |= STICK_KEY_RIGHT; -+ if (stx < STICK_MID_VAL-STICK_NEUTRAL) data.buttons |= STICK_KEY_LEFT; -+} -+ -Index: cwiid-0.6.00+svn184.orig/wminput/configs/fps_config -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ cwiid-0.6.00+svn184.orig/wminput/configs/fps_config 2009-03-27 13:15:50.000000000 +0100 -@@ -0,0 +1,32 @@ -+# Fps config for wminput by kyrlian -+# needs plugins ir_fps and nunchuk_kb -+# available from http://kyrlian.free.fr/binaries/cwiid/latest/ -+# wminput source and info at http://abstrakraft.org/cwiid/ -+ -+# IR for mouse REL - fps style -+Plugin.ir_fps.X = REL_X -+Plugin.ir_fps.Y = REL_Y -+ -+#custom buttons -+Wiimote.A = BTN_LEFT -+Wiimote.B = BTN_RIGHT -+Wiimote.Up = KEY_UP -+Wiimote.Down = KEY_DOWN -+Wiimote.Left = KEY_LEFT -+Wiimote.Right = KEY_RIGHT -+Wiimote.Minus = KEY_PAGEDOWN -+Wiimote.Plus = KEY_PAGEUP -+Wiimote.Home = KEY_ESC -+ -+Wiimote.1 = KEY_TAB -+Wiimote.2 = KEY_ESC -+ -+Nunchuk.C = KEY_C -+Nunchuk.Z = KEY_SPACE -+ -+#plugin for nunchuk stick -+Plugin.nunchuk_kb.Up = KEY_W -+Plugin.nunchuk_kb.Down = KEY_S -+Plugin.nunchuk_kb.Left = KEY_A -+Plugin.nunchuk_kb.Right = KEY_D -+ -Index: cwiid-0.6.00+svn184.orig/configure.ac -=================================================================== ---- cwiid-0.6.00+svn184.orig.orig/configure.ac 2008-06-24 21:43:05.000000000 +0200 -+++ cwiid-0.6.00+svn184.orig/configure.ac 2009-03-27 13:15:50.000000000 +0100 -@@ -142,8 +142,10 @@ - [wminput/Makefile] - [wminput/plugins/Makefile] - [wminput/plugins/ir_ptr/Makefile] -+ [wminput/plugins/ir_fps/Makefile] - [wminput/plugins/acc/Makefile] - [wminput/plugins/nunchuk_acc/Makefile] -+ [wminput/plugins/nunchuk_kb/Makefile] - [wminput/plugins/led/Makefile] - [wminput/plugins/nunchuk_stick2btn/Makefile] - [lswm/Makefile] |