/app-misc/lirc/files/irexec-confd |
---|
0,0 → 1,9 |
# Options to pass to the irexec process |
IREXEC_OPTS="/etc/lircrc" |
# User to execute irexec as. |
# Warning: Running irexec as root can open security holes |
#IREXEC_USER="root" |
# Use this to disable the warning printed when starting irexec as root |
# IREXEC_DISABLE_ROOT_WARNING=yes |
/app-misc/lirc/files/irexec-initd |
---|
0,0 → 1,28 |
#!/sbin/runscript |
# Copyright 2003 Martin Hierling <mad@cc.fh-lippe.de> |
# Distributed under the terms of the GNU General Public License v2 |
# $Header: /var/cvsroot/gentoo-x86/app-misc/lirc/files/irexec-initd,v 1.3 2007/05/24 20:12:16 zzam Exp $ |
: ${IREXEC_USER:=root} |
depend() { |
need lircd |
} |
start() { |
if [ "x${IREXEC_USER}" = "xroot" -a "x${IREXEC_DISABLE_ROOT_WARNING}" != "xyes" ]; then |
ewarn "Warning: Running irexec as root can open security holes" |
fi |
ebegin "Starting irexec" |
start-stop-daemon --start --chuid ${IREXEC_USER} --user ${IREXEC_USER} --chdir / \ |
--exec /usr/bin/irexec -- --daemon ${IREXEC_OPTS} |
eend $? "Failed to start irexec." |
} |
stop() { |
ebegin "Stopping irexec" |
start-stop-daemon --stop --exec /usr/bin/irexec --user ${IREXEC_USER} |
eend $? "Failed to stop irexec." |
} |
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: lirc/files/irexec-initd-0.8.6-r2 |
=================================================================== |
--- lirc/files/irexec-initd-0.8.6-r2 (nonexistent) |
+++ lirc/files/irexec-initd-0.8.6-r2 (revision 13) |
@@ -0,0 +1,28 @@ |
+#!/sbin/runscript |
+# Copyright 2003 Martin Hierling <mad@cc.fh-lippe.de> |
+# Distributed under the terms of the GNU General Public License v2 |
+# $Header: /var/cvsroot/gentoo-x86/app-misc/lirc/files/irexec-initd-0.8.6-r2,v 1.1 2009/11/15 10:04:21 zzam Exp $ |
+ |
+: ${IREXEC_USER:=root} |
+ |
+depend() { |
+ need lirc |
+} |
+ |
+start() { |
+ if [ "x${IREXEC_USER}" = "xroot" -a "x${IREXEC_DISABLE_ROOT_WARNING}" != "xyes" ]; then |
+ ewarn "Warning: Running irexec as root can open security holes" |
+ fi |
+ |
+ ebegin "Starting irexec" |
+ start-stop-daemon --start --chuid ${IREXEC_USER} --user ${IREXEC_USER} --chdir / \ |
+ --exec /usr/bin/irexec -- --daemon ${IREXEC_OPTS} |
+ eend $? "Failed to start irexec." |
+} |
+ |
+stop() { |
+ ebegin "Stopping irexec" |
+ start-stop-daemon --stop --exec /usr/bin/irexec --user ${IREXEC_USER} |
+ eend $? "Failed to stop irexec." |
+} |
+ |
/lirc/files/irexec-initd-0.8.6-r2 |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: lirc/files/lirc-0.8.3-imon-pad2keys.patch |
=================================================================== |
--- lirc/files/lirc-0.8.3-imon-pad2keys.patch (nonexistent) |
+++ lirc/files/lirc-0.8.3-imon-pad2keys.patch (revision 13) |
@@ -0,0 +1,291 @@ |
+diff -ruN lirc-0.8.3pre3-orig/drivers/lirc_imon/lirc_imon.c lirc-0.8.3pre3/drivers/lirc_imon/lirc_imon.c |
+--- lirc-0.8.3pre3-orig/drivers/lirc_imon/lirc_imon.c 2008-04-28 22:15:54.281654857 +0200 |
++++ lirc-0.8.3pre3/drivers/lirc_imon/lirc_imon.c 2008-04-28 22:16:51.381649620 +0200 |
+@@ -73,9 +73,9 @@ |
+ |
+ |
+ #define MOD_AUTHOR "Venky Raju <dev@venky.ws>" |
+-#define MOD_DESC "Driver for Soundgraph iMON MultiMedia IR/VFD" |
++#define MOD_DESC "Driver for Soundgraph iMON MultiMedia IR/VFD w/imon pad2keys patch" |
+ #define MOD_NAME "lirc_imon" |
+-#define MOD_VERSION "0.3" |
++#define MOD_VERSION "0.3p2k" |
+ |
+ #define VFD_MINOR_BASE 144 /* Same as LCD */ |
+ #define DEVFS_MODE (S_IFCHR | S_IRUSR | S_IWUSR | \ |
+@@ -91,6 +91,7 @@ |
+ #define TRUE 1 |
+ #define FALSE 0 |
+ |
++#define CURSOR_LIMIT 16 |
+ |
+ /* ------------------------------------------------------------ |
+ * P R O T O T Y P E S |
+@@ -177,6 +178,10 @@ |
+ atomic_t busy; /* write in progress */ |
+ int status; /* status of tx completion */ |
+ } tx; |
++ |
++ int key_x; |
++ int key_y; |
++ int last_count; /* number of times pressed */ |
+ }; |
+ |
+ #define LOCK_CONTEXT down(&context->sem) |
+@@ -248,6 +253,9 @@ |
+ static int is_lcd; /* If LIRC_IMON_LCD not defined, default to non-LCD */ |
+ #endif |
+ |
++/* pad2keys module parameter. pad2keys patch active? */ |
++static int pad2keys_active = 0; |
++ |
+ #if !defined(KERNEL_2_5) |
+ |
+ #define MAX_DEVICES 4 /* In case there's more than one iMON device */ |
+@@ -271,6 +279,7 @@ |
+ |
+ MODULE_AUTHOR(MOD_AUTHOR); |
+ MODULE_DESCRIPTION(MOD_DESC); |
++MODULE_VERSION(MOD_VERSION); /* MBr: was missing */ |
+ MODULE_LICENSE("GPL"); |
+ MODULE_DEVICE_TABLE(usb, imon_usb_id_table); |
+ |
+@@ -287,6 +296,9 @@ |
+ "1=yes (default:no)"); |
+ #endif |
+ |
++module_param (pad2keys_active, int, 0); |
++MODULE_PARM_DESC (pad2keys_active, "pad2keys patch active: 0=no, 1=yes (default: no)"); |
++ |
+ static inline void delete_context(struct imon_context *context) |
+ { |
+ if (context->vfd_supported) |
+@@ -766,6 +778,11 @@ |
+ context->rx.initial_space = 1; |
+ context->rx.prev_bit = 0; |
+ |
++ /* init pad context for pad2keys */ |
++ context ->key_x = 0; |
++ context ->key_y = 0; |
++ context ->last_count = 0; |
++ |
+ usb_fill_int_urb(context->rx_urb, context->dev, |
+ usb_rcvintpipe(context->dev, |
+ context->rx_endpoint->bEndpointAddress), |
+@@ -915,6 +932,94 @@ |
+ |
+ if (context->ir_onboard_decode) { |
+ /* The signals have been decoded onboard the iMON controller */ |
++ |
++ if (pad2keys_active) |
++ { |
++ /* imon pad2keys patch |
++ * |
++ * make PAD and mouse buttons available for use with VDR, |
++ * based on pad-mouse-emu patch from venky's forum |
++ * |
++ * last change: M.Brakemeier 2007-10-14 |
++ * |
++ * generated PAD key codes: |
++ * Mouse_N 0x690281B7 |
++ * Mouse_S 0x688291B7 |
++ * Mouse_W 0x6A8281B7 |
++ * Mouse_E 0x688A81B7 |
++ * |
++ * mouse buttons (non-synthetic): |
++ * MouseRightClick 0x688481B7 |
++ * MouseLeftClick 0x688301B7 |
++ */ |
++ if((buf[0] & 0x40) && |
++ !(buf[1] & 0x01 || buf[1] >> 2 & 0x01)) |
++ { |
++ int rel_x = (buf[1] & 0x08) | (buf[1] & 0x10) >> 2 | (buf[1] & 0x20) >> 4 | (buf[1] & 0x40) >> 6; |
++ int rel_y = (buf[2] & 0x08) | (buf[2] & 0x10) >> 2 | (buf[2] & 0x20) >> 4 | (buf[2] & 0x40) >> 6; |
++ |
++ if(buf[0] & 0x02) |
++ rel_x |= ~0x10+1; |
++ if(buf[0] & 0x01) |
++ rel_y |= ~0x10+1; |
++ |
++ /* keyboard direction key emulation */ |
++ if( context->last_count > 32 ) |
++ { /* Hopefully eliminate drift*/ |
++ context->last_count=0; |
++ context->key_y=0; |
++ context->key_x=0; |
++ } |
++ context->last_count++; |
++ |
++ /* limit decoded events */ |
++ if(abs(context->key_x) > CURSOR_LIMIT || abs(context->key_y) > CURSOR_LIMIT ) |
++ { |
++ if(abs(context->key_y ) > abs(context->key_x)) |
++ { /* mouse s/n */ |
++ if(context->key_y > 0 && rel_y > 0) |
++ { /* mouse s */ |
++ buf[0] = 0x68; |
++ buf[1] = 0x82; |
++ buf[2] = 0x91; |
++ } |
++ else if(context->key_y < 0 && rel_y < 0) |
++ { /* mouse n */ |
++ buf[0] = 0x69; |
++ buf[1] = 0x02; |
++ buf[2] = 0x81; |
++ } |
++ } |
++ else |
++ { /* mouse e/w*/ |
++ if(context->key_x > 0 && rel_x > 0 ) |
++ { /* mouse e */ |
++ buf[0] = 0x68; |
++ buf[1] = 0x8A; |
++ buf[2] = 0x81; |
++ } |
++ else if(context->key_x < 0 && rel_x < 0 ) |
++ { /* mouse w */ |
++ buf[0] = 0x6A; |
++ buf[1] = 0x82; |
++ buf[2] = 0x81; |
++ } |
++ } |
++ } |
++ else |
++ { |
++ context->key_x += rel_x; |
++ context->key_y += rel_y; |
++ |
++ return; /* discard those key codes */ |
++ } |
++ } |
++ /* a key was pressed, reset count */ |
++ context->key_x = 0; |
++ context->key_y = 0; |
++ context->last_count = 0; |
++ } |
++ |
+ lirc_buffer_write_1(context->plugin->rbuf, buf); |
+ wake_up(&context->plugin->rbuf->wait_poll); |
+ return; |
+diff -ruN lirc-0.8.3pre3-orig/drivers/lirc_imon/lirc_imon.c.rej lirc-0.8.3pre3/drivers/lirc_imon/lirc_imon.c.rej |
+--- lirc-0.8.3pre3-orig/drivers/lirc_imon/lirc_imon.c.rej 1970-01-01 01:00:00.000000000 +0100 |
++++ lirc-0.8.3pre3/drivers/lirc_imon/lirc_imon.c.rej 2008-04-28 22:16:02.941653915 +0200 |
+@@ -0,0 +1,26 @@ |
++*************** |
++*** 271,280 **** |
++ |
++ MODULE_AUTHOR(MOD_AUTHOR); |
++ MODULE_DESCRIPTION(MOD_DESC); |
++ MODULE_LICENSE("GPL"); |
++ MODULE_DEVICE_TABLE(usb, imon_usb_id_table); |
++ module_param(debug, int, 0); |
++ MODULE_PARM_DESC(debug, "Debug messages: 0=no, 1=yes(default: no)"); |
++ |
++ static inline void delete_context(struct imon_context *context) |
++ { |
++--- 279,291 ---- |
++ |
++ MODULE_AUTHOR(MOD_AUTHOR); |
++ MODULE_DESCRIPTION(MOD_DESC); |
+++ MODULE_VERSION(MOD_VERSION); /* MBr: was missing */ |
++ MODULE_LICENSE("GPL"); |
++ MODULE_DEVICE_TABLE(usb, imon_usb_id_table); |
++ module_param(debug, int, 0); |
++ MODULE_PARM_DESC(debug, "Debug messages: 0=no, 1=yes(default: no)"); |
+++ module_param (pad2keys_active, int, 0); |
+++ MODULE_PARM_DESC (pad2keys_active, "pad2keys patch active: 0=no, 1=yes (default: no)"); |
++ |
++ static inline void delete_context(struct imon_context *context) |
++ { |
+diff -ruN lirc-0.8.3pre3-orig/remotes/imon/lircd.conf.imon-pad2keys lirc-0.8.3pre3/remotes/imon/lircd.conf.imon-pad2keys |
+--- lirc-0.8.3pre3-orig/remotes/imon/lircd.conf.imon-pad2keys 1970-01-01 01:00:00.000000000 +0100 |
++++ lirc-0.8.3pre3/remotes/imon/lircd.conf.imon-pad2keys 2008-04-28 22:16:02.941653915 +0200 |
+@@ -0,0 +1,88 @@ |
++# Please make this file available to others |
++# by sending it to <lirc@bartelmus.de> |
++# |
++# this config file was generated |
++# using lirc-0.8.3pre1 (imon w/pad2keys patch) |
++# |
++# contributed by M.Brakemeier |
++# |
++# brand: SoundGraph |
++# model no. of remote control: iMON-PAD |
++# devices being controlled by this remote: |
++# |
++ |
++begin remote |
++ |
++ name iMON-PAD |
++ bits 32 |
++ eps 30 |
++ aeps 100 |
++ |
++ one 0 0 |
++ zero 0 0 |
++ gap 235965 |
++ min_repeat 1 |
++ toggle_bit 0 |
++ |
++ begin codes |
++ AppExit 0x288195B7 |
++ Power 0x289115B7 |
++ Record 0x298115B7 |
++ Play 0x2A8115B7 |
++ Open 0x29B1D5B7 |
++ Rewind 0x2A8195B7 |
++ Pause 0x2A9115B7 |
++ FastForward 0x2B8115B7 |
++ PrevChapter 0x2B9115B7 |
++ Stop 0x2B9715B7 |
++ NextChapter 0x298195B7 |
++ Esc 0x2BB715B7 |
++ Eject 0x299395B7 |
++ AppLauncher 0x29B715B7 |
++ MultiMon 0x2AB195B7 |
++ TaskSwitcher 0x2A9395B7 |
++ Mute 0x2B9595B7 |
++ Vol+ 0x28A395B7 |
++ Vol- 0x28A595B7 |
++ Ch+ 0x289395B7 |
++ Ch- 0x288795B7 |
++ Timer 0x2B8395B7 |
++ 1 0x28B595B7 |
++ 2 0x2BB195B7 |
++ 3 0x28B195B7 |
++ 4 0x2A8595B7 |
++ 5 0x299595B7 |
++ 6 0x2AA595B7 |
++ 7 0x2B9395B7 |
++ 8 0x2A8515B7 |
++ 9 0x2AA115B7 |
++ 0 0x2BA595B7 |
++ ShiftTab 0x28B515B7 |
++ Tab 0x29A115B7 |
++ Red 0x2B8515B7 # MyMovie |
++ Green 0x299195B7 # MyMusic |
++ Blue 0x2BA115B7 # MyPhoto |
++ Yellow 0x28A515B7 # MyTV |
++ Bookmark 0x288515B7 |
++ Thumbnail 0x2AB715B7 |
++ AspectRatio 0x29A595B7 |
++ FullScreen 0x2AA395B7 |
++ Purple 0x29A395B7 # MyDVD |
++ Menu 0x2BA395B7 |
++ Caption 0x298595B7 |
++ Language 0x2B8595B7 |
++ MouseKeyboard 0x299115B7 |
++ SelectSpace 0x2A9315B7 |
++ MouseMenu 0x28B715B7 |
++ MouseRightClick 0x688481B7 |
++ Enter 0x28A195B7 |
++ MouseLeftClick 0x688301B7 |
++ WindowsKey 0x2B8195B7 |
++ Backspace 0x28A115B7 |
++ Mouse_N 0x690281B7 |
++ Mouse_S 0x688291B7 |
++ Mouse_W 0x6A8281B7 |
++ Mouse_E 0x688A81B7 |
++ end codes |
++ |
++end remote |
Index: lirc/files/lirc-0.8.3-kernel-2.6.26.diff |
=================================================================== |
--- lirc/files/lirc-0.8.3-kernel-2.6.26.diff (nonexistent) |
+++ lirc/files/lirc-0.8.3-kernel-2.6.26.diff (revision 13) |
@@ -0,0 +1,107 @@ |
+--- a/drivers/kcompat.h 2008-01-13 11:26:28.000000000 +0100 |
++++ b/drivers/kcompat.h 2008-05-14 18:37:49.000000000 +0200 |
+@@ -36,10 +36,10 @@ |
+ class_simple_destroy(cls); |
+ } |
+ |
+-#define lirc_class_device_create(cs, parent, dev, device, fmt, args...) \ |
+- class_simple_device_add(cs, dev, device, fmt, ## args) |
++#define lirc_device_create(cs, parent, dev, fmt, args...) \ |
++ class_simple_device_add(cs, dev, parent, fmt, ## args) |
+ |
+-static inline void class_device_destroy(lirc_class_t *cls, dev_t devt) |
++static inline void lirc_device_destroy(lirc_class_t *cls, dev_t devt) |
+ { |
+ class_simple_device_remove(devt); |
+ } |
+@@ -48,20 +48,40 @@ |
+ |
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 15) |
+ |
+-#define lirc_class_device_create(cs, parent, dev, device, fmt, args...) \ |
+- class_device_create(cs, dev, device, fmt, ## args) |
++#define lirc_device_create(cs, parent, dev, fmt, args...) \ |
++ class_device_create(cs, dev, parent, fmt, ## args) |
+ |
+ #else /* >= 2.6.15 */ |
+ |
+-#define lirc_class_device_create class_device_create |
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 26) |
++ |
++#define lirc_device_create(cs, parent, dev, fmt, args...) \ |
++ class_device_create(cs, NULL, dev, parent, fmt, ## args) |
++ |
++#else /* >= 2.6.26 */ |
++ |
++#define lirc_device_create device_create |
++ |
++#endif /* >= 2.6.26 */ |
++ |
+ #define LIRC_DEVFS_PREFIX |
+ |
+-#endif |
++#endif /* >= 2.6.15 */ |
+ |
+ typedef struct class lirc_class_t; |
+ |
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 26) |
++ |
++#define lirc_device_destroy class_device_destroy |
++ |
++#else |
++ |
++#define lirc_device_destroy device_destroy |
++ |
+ #endif |
+ |
++#endif /* >= 2.6.13 */ |
++ |
+ #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 0) |
+ #define LIRC_HAVE_DEVFS |
+ #define LIRC_HAVE_DEVFS_24 |
+@@ -133,8 +153,8 @@ |
+ #ifndef LIRC_HAVE_SYSFS |
+ #define class_destroy(x) do { } while (0) |
+ #define class_create(x, y) NULL |
+-#define class_device_destroy(x, y) do { } while (0) |
+-#define lirc_class_device_create(x, y, z, xx, yy, zz) 0 |
++#define lirc_class_destroy(x, y) do { } while (0) |
++#define lirc_class_create(x, y, z, xx, yy, zz) 0 |
+ #define IS_ERR(x) 0 |
+ typedef struct class_simple |
+ { |
+--- a/drivers/lirc_dev/lirc_dev.c 2008-01-13 11:45:02.000000000 +0100 |
++++ b/drivers/lirc_dev/lirc_dev.c 2008-05-14 18:37:49.000000000 +0200 |
+@@ -145,7 +145,8 @@ |
+ #ifdef LIRC_HAVE_DEVFS_26 |
+ devfs_remove(DEV_LIRC "/%u", ir->p.minor); |
+ #endif |
+- class_device_destroy(lirc_class, MKDEV(IRCTL_DEV_MAJOR, ir->p.minor)); |
++ lirc_device_destroy(lirc_class, |
++ MKDEV(IRCTL_DEV_MAJOR, ir->p.minor)); |
+ |
+ if (ir->buf != ir->p.rbuf) { |
+ lirc_buffer_free(ir->buf); |
+@@ -400,9 +401,9 @@ |
+ S_IFCHR|S_IRUSR|S_IWUSR, |
+ DEV_LIRC "/%u", ir->p.minor); |
+ #endif |
+- (void) lirc_class_device_create(lirc_class, NULL, |
+- MKDEV(IRCTL_DEV_MAJOR, ir->p.minor), |
+- ir->p.dev, "lirc%u", ir->p.minor); |
++ (void) lirc_device_create(lirc_class, ir->p.dev, |
++ MKDEV(IRCTL_DEV_MAJOR, ir->p.minor), |
++ "lirc%u", ir->p.minor); |
+ |
+ if (p->sample_rate || p->get_queue) { |
+ /* try to fire up polling thread */ |
+@@ -441,7 +442,8 @@ |
+ return minor; |
+ |
+ out_sysfs: |
+- class_device_destroy(lirc_class, MKDEV(IRCTL_DEV_MAJOR, ir->p.minor)); |
++ lirc_device_destroy(lirc_class, |
++ MKDEV(IRCTL_DEV_MAJOR, ir->p.minor)); |
+ #ifdef LIRC_HAVE_DEVFS_24 |
+ devfs_unregister(ir->devfs_handle); |
+ #endif |
Index: lirc/files/lirc-0.8.3-kernel-2.6.27.diff |
=================================================================== |
--- lirc/files/lirc-0.8.3-kernel-2.6.27.diff (nonexistent) |
+++ lirc/files/lirc-0.8.3-kernel-2.6.27.diff (revision 13) |
@@ -0,0 +1,38 @@ |
+Index: drivers/lirc_dev/lirc_dev.c |
+=================================================================== |
+RCS file: /cvsroot/lirc/lirc/drivers/lirc_dev/lirc_dev.c,v |
+retrieving revision 1.58 |
+diff -u -p -u -p -r1.58 lirc_dev.c |
+--- drivers/lirc_dev/lirc_dev.c 14 May 2008 16:37:49 -0000 1.58 |
++++ drivers/lirc_dev/lirc_dev.c 4 Aug 2008 14:54:04 -0000 |
+@@ -49,7 +49,11 @@ |
+ #include <linux/uaccess.h> |
+ #include <linux/errno.h> |
+ #endif |
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 27) |
+ #include <asm/semaphore.h> |
++#else |
++#include <linux/semaphore.h> |
++#endif |
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0) |
+ #include <linux/wrapper.h> |
+ #endif |
+Index: drivers/lirc_i2c/lirc_i2c.c |
+=================================================================== |
+RCS file: /cvsroot/lirc/lirc/drivers/lirc_i2c/lirc_i2c.c,v |
+retrieving revision 1.46 |
+diff -u -p -u -p -r1.46 lirc_i2c.c |
+--- drivers/lirc_i2c/lirc_i2c.c 4 May 2008 13:49:53 -0000 1.46 |
++++ drivers/lirc_i2c/lirc_i2c.c 4 Aug 2008 14:54:04 -0000 |
+@@ -54,7 +54,11 @@ |
+ #include <linux/i2c.h> |
+ #include <linux/i2c-algo-bit.h> |
+ |
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 27) |
+ #include <asm/semaphore.h> |
++#else |
++#include <linux/semaphore.h> |
++#endif |
+ |
+ #include "drivers/kcompat.h" |
+ #include "drivers/lirc_dev/lirc_dev.h" |
Index: lirc/files/lirc-0.8.3-pa19.patch |
=================================================================== |
--- lirc/files/lirc-0.8.3-pa19.patch (nonexistent) |
+++ lirc/files/lirc-0.8.3-pa19.patch (revision 13) |
@@ -0,0 +1,68 @@ |
+--- daemons/hw_audio.c.orig 2008-06-13 22:24:40.000000000 +0200 |
++++ daemons/hw_audio.c 2008-06-13 22:17:31.000000000 +0200 |
+@@ -66,7 +66,7 @@ |
+ } |
+ paTestData; |
+ |
+-PortAudioStream *stream; |
++PaStream *stream; |
+ |
+ |
+ extern struct ir_remote *repeat_remote; |
+@@ -90,7 +90,9 @@ |
+ |
+ static int recordCallback( void *inputBuffer, void *outputBuffer, |
+ unsigned long framesPerBuffer, |
+- PaTimestamp outTime, void *userData ) |
++ PaStreamCallbackTimeInfo outTime, |
++ PaStreamCallbackFlags status, |
++ void *userData ) |
+ { |
+ paTestData *data = (paTestData*)userData; |
+ SAMPLE *rptr = (SAMPLE*)inputBuffer; |
+@@ -215,6 +217,7 @@ |
+ int audio_init() |
+ { |
+ |
++ PaStreamParameters inputParameters; |
+ PaError err; |
+ int flags; |
+ struct termios t; |
+@@ -237,22 +240,27 @@ |
+ err = Pa_Initialize(); |
+ if( err != paNoError ) goto error; |
+ |
++ inputParameters.device = Pa_GetDefaultInputDevice(); /* default input device */ |
++ if (inputParameters.device == paNoDevice) { |
++ logprintf(LOG_ERR, "No default input device"); |
++ goto error; |
++ } |
++ inputParameters.channelCount = NUM_CHANNELS; /* stereo input */ |
++ inputParameters.sampleFormat = PA_SAMPLE_TYPE; |
++ inputParameters.suggestedLatency = |
++ Pa_GetDeviceInfo( inputParameters.device )->defaultLowInputLatency; |
++ inputParameters.hostApiSpecificStreamInfo = NULL; |
++ |
++ |
+ // Record some audio. -------------------------------------------- |
+ err = Pa_OpenStream |
+ ( |
+ &stream, |
+- Pa_GetDefaultInputDeviceID(), |
+- NUM_CHANNELS, // stereo input |
+- PA_SAMPLE_TYPE, |
+- NULL, |
+- paNoDevice, |
+- 0, |
+- PA_SAMPLE_TYPE, |
+- NULL, |
++ &inputParameters, |
++ NULL, // output parameters |
+ SAMPLE_RATE, |
+ 512, // frames per buffer |
+- 0, // number of buffers, if zero then use default minimum |
+- 0, // flags |
++ 0, // flags |
+ recordCallback, |
+ &data ); |
+ |
Index: lirc/files/lirc-0.8.3_pre1-imon-pad2keys.patch |
=================================================================== |
--- lirc/files/lirc-0.8.3_pre1-imon-pad2keys.patch (nonexistent) |
+++ lirc/files/lirc-0.8.3_pre1-imon-pad2keys.patch (revision 13) |
@@ -0,0 +1,257 @@ |
+diff -NuBbwr lirc-0.8.3pre1-orig/drivers/lirc_imon/lirc_imon.c lirc-0.8.3pre1/drivers/lirc_imon/lirc_imon.c |
+--- lirc-0.8.3pre1-orig/drivers/lirc_imon/lirc_imon.c 2007-09-30 11:58:45.000000000 +0200 |
++++ lirc-0.8.3pre1/drivers/lirc_imon/lirc_imon.c 2007-10-14 14:20:07.000000000 +0200 |
+@@ -69,9 +69,9 @@ |
+ |
+ |
+ #define MOD_AUTHOR "Venky Raju <dev@venky.ws>" |
+-#define MOD_DESC "Driver for Soundgraph iMON MultiMedia IR/VFD" |
++#define MOD_DESC "Driver for Soundgraph iMON MultiMedia IR/VFD w/imon pad2keys patch" |
+ #define MOD_NAME "lirc_imon" |
+-#define MOD_VERSION "0.3" |
++#define MOD_VERSION "0.3p2k" |
+ |
+ #define VFD_MINOR_BASE 144 /* Same as LCD */ |
+ #define DEVFS_MODE (S_IFCHR | S_IRUSR | S_IWUSR | \ |
+@@ -87,6 +87,7 @@ |
+ #define TRUE 1 |
+ #define FALSE 0 |
+ |
++#define CURSOR_LIMIT 16 |
+ |
+ /* ------------------------------------------------------------ |
+ * P R O T O T Y P E S |
+@@ -169,6 +170,10 @@ |
+ atomic_t busy; /* write in progress */ |
+ int status; /* status of tx completion */ |
+ } tx; |
++ |
++ int key_x; |
++ int key_y; |
++ int last_count; /* number of times pressed */ |
+ }; |
+ |
+ #define LOCK_CONTEXT down(&context->sem) |
+@@ -235,6 +240,9 @@ |
+ |
+ static int debug; |
+ |
++/* pad2keys module parameter. pad2keys patch active? */ |
++static int pad2keys_active = 0; |
++ |
+ #if !defined(KERNEL_2_5) |
+ |
+ #define MAX_DEVICES 4 /* In case there's more than one iMON device */ |
+@@ -258,10 +266,13 @@ |
+ |
+ MODULE_AUTHOR(MOD_AUTHOR); |
+ MODULE_DESCRIPTION(MOD_DESC); |
++MODULE_VERSION(MOD_VERSION); /* MBr: was missing */ |
+ MODULE_LICENSE("GPL"); |
+ MODULE_DEVICE_TABLE(usb, imon_usb_id_table); |
+ module_param(debug, int, 0); |
+ MODULE_PARM_DESC(debug, "Debug messages: 0=no, 1=yes(default: no)"); |
++module_param (pad2keys_active, int, 0); |
++MODULE_PARM_DESC (pad2keys_active, "pad2keys patch active: 0=no, 1=yes (default: no)"); |
+ |
+ static inline void delete_context(struct imon_context *context) |
+ { |
+@@ -684,6 +695,11 @@ |
+ context->rx.initial_space = 1; |
+ context->rx.prev_bit = 0; |
+ |
++ /* init pad context for pad2keys */ |
++ context ->key_x = 0; |
++ context ->key_y = 0; |
++ context ->last_count = 0; |
++ |
+ usb_fill_int_urb(context->rx_urb, context->dev, |
+ usb_rcvintpipe(context->dev, |
+ context->rx_endpoint->bEndpointAddress), |
+@@ -834,6 +850,94 @@ |
+ |
+ if (context->ir_onboard_decode) { |
+ /* The signals have been decoded onboard the iMON controller */ |
++ |
++ if (pad2keys_active) |
++ { |
++ /* imon pad2keys patch |
++ * |
++ * make PAD and mouse buttons available for use with VDR, |
++ * based on pad-mouse-emu patch from venky's forum |
++ * |
++ * last change: M.Brakemeier 2007-10-14 |
++ * |
++ * generated PAD key codes: |
++ * Mouse_N 0x690281B7 |
++ * Mouse_S 0x688291B7 |
++ * Mouse_W 0x6A8281B7 |
++ * Mouse_E 0x688A81B7 |
++ * |
++ * mouse buttons (non-synthetic): |
++ * MouseRightClick 0x688481B7 |
++ * MouseLeftClick 0x688301B7 |
++ */ |
++ if((buf[0] & 0x40) && |
++ !(buf[1] & 0x01 || buf[1] >> 2 & 0x01)) |
++ { |
++ int rel_x = (buf[1] & 0x08) | (buf[1] & 0x10) >> 2 | (buf[1] & 0x20) >> 4 | (buf[1] & 0x40) >> 6; |
++ int rel_y = (buf[2] & 0x08) | (buf[2] & 0x10) >> 2 | (buf[2] & 0x20) >> 4 | (buf[2] & 0x40) >> 6; |
++ |
++ if(buf[0] & 0x02) |
++ rel_x |= ~0x10+1; |
++ if(buf[0] & 0x01) |
++ rel_y |= ~0x10+1; |
++ |
++ /* keyboard direction key emulation */ |
++ if( context->last_count > 32 ) |
++ { /* Hopefully eliminate drift*/ |
++ context->last_count=0; |
++ context->key_y=0; |
++ context->key_x=0; |
++ } |
++ context->last_count++; |
++ |
++ /* limit decoded events */ |
++ if(abs(context->key_x) > CURSOR_LIMIT || abs(context->key_y) > CURSOR_LIMIT ) |
++ { |
++ if(abs(context->key_y ) > abs(context->key_x)) |
++ { /* mouse s/n */ |
++ if(context->key_y > 0 && rel_y > 0) |
++ { /* mouse s */ |
++ buf[0] = 0x68; |
++ buf[1] = 0x82; |
++ buf[2] = 0x91; |
++ } |
++ else if(context->key_y < 0 && rel_y < 0) |
++ { /* mouse n */ |
++ buf[0] = 0x69; |
++ buf[1] = 0x02; |
++ buf[2] = 0x81; |
++ } |
++ } |
++ else |
++ { /* mouse e/w*/ |
++ if(context->key_x > 0 && rel_x > 0 ) |
++ { /* mouse e */ |
++ buf[0] = 0x68; |
++ buf[1] = 0x8A; |
++ buf[2] = 0x81; |
++ } |
++ else if(context->key_x < 0 && rel_x < 0 ) |
++ { /* mouse w */ |
++ buf[0] = 0x6A; |
++ buf[1] = 0x82; |
++ buf[2] = 0x81; |
++ } |
++ } |
++ } |
++ else |
++ { |
++ context->key_x += rel_x; |
++ context->key_y += rel_y; |
++ |
++ return; /* discard those key codes */ |
++ } |
++ } |
++ /* a key was pressed, reset count */ |
++ context->key_x = 0; |
++ context->key_y = 0; |
++ context->last_count = 0; |
++ } |
++ |
+ lirc_buffer_write_1(context->plugin->rbuf, buf); |
+ wake_up(&context->plugin->rbuf->wait_poll); |
+ return; |
+diff -NuBbwr lirc-0.8.3pre1-orig/remotes/imon/lircd.conf.imon-pad2keys lirc-0.8.3pre1/remotes/imon/lircd.conf.imon-pad2keys |
+--- lirc-0.8.3pre1-orig/remotes/imon/lircd.conf.imon-pad2keys 1970-01-01 01:00:00.000000000 +0100 |
++++ lirc-0.8.3pre1/remotes/imon/lircd.conf.imon-pad2keys 2007-10-14 14:13:01.000000000 +0200 |
+@@ -0,0 +1,88 @@ |
++# Please make this file available to others |
++# by sending it to <lirc@bartelmus.de> |
++# |
++# this config file was generated |
++# using lirc-0.8.3pre1 (imon w/pad2keys patch) |
++# |
++# contributed by M.Brakemeier |
++# |
++# brand: SoundGraph |
++# model no. of remote control: iMON-PAD |
++# devices being controlled by this remote: |
++# |
++ |
++begin remote |
++ |
++ name iMON-PAD |
++ bits 32 |
++ eps 30 |
++ aeps 100 |
++ |
++ one 0 0 |
++ zero 0 0 |
++ gap 235965 |
++ min_repeat 1 |
++ toggle_bit 0 |
++ |
++ begin codes |
++ AppExit 0x288195B7 |
++ Power 0x289115B7 |
++ Record 0x298115B7 |
++ Play 0x2A8115B7 |
++ Open 0x29B1D5B7 |
++ Rewind 0x2A8195B7 |
++ Pause 0x2A9115B7 |
++ FastForward 0x2B8115B7 |
++ PrevChapter 0x2B9115B7 |
++ Stop 0x2B9715B7 |
++ NextChapter 0x298195B7 |
++ Esc 0x2BB715B7 |
++ Eject 0x299395B7 |
++ AppLauncher 0x29B715B7 |
++ MultiMon 0x2AB195B7 |
++ TaskSwitcher 0x2A9395B7 |
++ Mute 0x2B9595B7 |
++ Vol+ 0x28A395B7 |
++ Vol- 0x28A595B7 |
++ Ch+ 0x289395B7 |
++ Ch- 0x288795B7 |
++ Timer 0x2B8395B7 |
++ 1 0x28B595B7 |
++ 2 0x2BB195B7 |
++ 3 0x28B195B7 |
++ 4 0x2A8595B7 |
++ 5 0x299595B7 |
++ 6 0x2AA595B7 |
++ 7 0x2B9395B7 |
++ 8 0x2A8515B7 |
++ 9 0x2AA115B7 |
++ 0 0x2BA595B7 |
++ ShiftTab 0x28B515B7 |
++ Tab 0x29A115B7 |
++ Red 0x2B8515B7 # MyMovie |
++ Green 0x299195B7 # MyMusic |
++ Blue 0x2BA115B7 # MyPhoto |
++ Yellow 0x28A515B7 # MyTV |
++ Bookmark 0x288515B7 |
++ Thumbnail 0x2AB715B7 |
++ AspectRatio 0x29A595B7 |
++ FullScreen 0x2AA395B7 |
++ Purple 0x29A295B7 # MyDVD |
++ Menu 0x2BA385B7 |
++ Caption 0x298595B7 |
++ Language 0x2B8595B7 |
++ MouseKeyboard 0x299115B7 |
++ SelectSpace 0x2A9315B7 |
++ MouseMenu 0x28B715B7 |
++ MouseRightClick 0x688481B7 |
++ Enter 0x28A195B7 |
++ MouseLeftClick 0x688301B7 |
++ WindowsKey 0x2B8195B7 |
++ Backspace 0x28A115B7 |
++ Mouse_N 0x690281B7 |
++ Mouse_S 0x688291B7 |
++ Mouse_W 0x6A8281B7 |
++ Mouse_E 0x688A81B7 |
++ end codes |
++ |
++end remote |
Index: lirc/files/lirc-0.8.3_pre1-kernel-2.6.24.diff |
=================================================================== |
--- lirc/files/lirc-0.8.3_pre1-kernel-2.6.24.diff (nonexistent) |
+++ lirc/files/lirc-0.8.3_pre1-kernel-2.6.24.diff (revision 13) |
@@ -0,0 +1,110 @@ |
+#bug 200508 |
+ |
+--- a/lirc-0.8.3pre1/drivers/lirc_dev/lirc_dev.c 2007-09-27 15:47:20.000000000 -0400 |
++++ b/lirc-0.8.3pre1/drivers/lirc_dev/lirc_dev.c 2007-11-27 11:06:41.000000000 -0500 |
+@@ -41,6 +41,7 @@ |
+ #include <linux/fs.h> |
+ #include <linux/poll.h> |
+ #include <linux/smp_lock.h> |
++#include <linux/completion.h> |
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 18) |
+ #include <linux/uaccess.h> |
+ #include <linux/errno.h> |
+@@ -86,8 +87,8 @@ |
+ struct lirc_buffer *buf; |
+ |
+ int tpid; |
+- struct semaphore *t_notify; |
+- struct semaphore *t_notify2; |
++ struct completion *t_notify; |
++ struct completion *t_notify2; |
+ int shutdown; |
+ long jiffies_to_wait; |
+ |
+@@ -193,7 +194,7 @@ |
+ daemonize("lirc_dev"); |
+ |
+ if (ir->t_notify != NULL) |
+- up(ir->t_notify); |
++ complete(ir->t_notify); |
+ |
+ dprintk(LOGHEAD "poll thread started\n", ir->p.name, ir->p.minor); |
+ |
+@@ -218,11 +219,11 @@ |
+ } while (!ir->shutdown); |
+ |
+ if (ir->t_notify2 != NULL) |
+- down(ir->t_notify2); |
++ wait_for_completion(ir->t_notify2); |
+ |
+ ir->tpid = -1; |
+ if (ir->t_notify != NULL) |
+- up(ir->t_notify); |
++ complete(ir->t_notify); |
+ |
+ dprintk(LOGHEAD "poll thread ended\n", ir->p.name, ir->p.minor); |
+ |
+@@ -238,7 +239,7 @@ |
+ #ifdef LIRC_HAVE_DEVFS_24 |
+ char name[16]; |
+ #endif |
+- DECLARE_MUTEX_LOCKED(tn); |
++ DECLARE_COMPLETION(tn); |
+ |
+ if (!p) { |
+ printk(KERN_ERR "lirc_dev: lirc_register_plugin: " |
+@@ -389,7 +390,7 @@ |
+ err = -ECHILD; |
+ goto out_sysfs; |
+ } |
+- down(&tn); |
++ wait_for_completion(&tn); |
+ ir->t_notify = NULL; |
+ } |
+ ir->attached = 1; |
+@@ -425,8 +426,8 @@ |
+ int lirc_unregister_plugin(int minor) |
+ { |
+ struct irctl *ir; |
+- DECLARE_MUTEX_LOCKED(tn); |
+- DECLARE_MUTEX_LOCKED(tn2); |
++ DECLARE_COMPLETION(tn); |
++ DECLARE_COMPLETION(tn2); |
+ |
+ if (minor < 0 || minor >= MAX_IRCTL_DEVICES) { |
+ printk(KERN_ERR "lirc_dev: lirc_unregister_plugin: " |
+@@ -462,8 +463,8 @@ |
+ /* 2.2.x does not export wake_up_process() */ |
+ wake_up_interruptible(ir->p.get_queue(ir->p.data)); |
+ #endif |
+- up(&tn2); |
+- down(&tn); |
++ complete(&tn2); |
++ wait_for_completion(&tn); |
+ ir->t_notify = NULL; |
+ ir->t_notify2 = NULL; |
+ } |
+diff -Naur lirc-0.8.3pre1.orig/drivers/lirc_serial/lirc_serial.c lirc-0.8.3pre1/drivers/lirc_serial/lirc_serial.c |
+--- lirc-0.8.3pre1.orig/drivers/lirc_serial/lirc_serial.c 2007-12-27 01:27:36.143803257 +0100 |
++++ lirc-0.8.3pre1/drivers/lirc_serial/lirc_serial.c 2007-12-27 01:29:38.149303268 +0100 |
+@@ -961,7 +961,7 @@ |
+ do_gettimeofday(&lasttv); |
+ |
+ result = request_irq(irq, irq_handler, |
+- SA_INTERRUPT | (share_irq ? SA_SHIRQ:0), |
++ IRQF_DISABLED | (share_irq ? IRQF_SHARED:0), |
+ LIRC_DRIVER_NAME, (void *)&hardware); |
+ |
+ switch (result) { |
+diff -Naur lirc-0.8.3pre1.orig/drivers/lirc_sir/lirc_sir.c lirc-0.8.3pre1/drivers/lirc_sir/lirc_sir.c |
+--- lirc-0.8.3pre1.orig/drivers/lirc_sir/lirc_sir.c 2007-12-28 15:11:48.142285437 +0100 |
++++ lirc-0.8.3pre1/drivers/lirc_sir/lirc_sir.c 2007-12-28 15:13:05.561290741 +0100 |
+@@ -1025,7 +1025,7 @@ |
+ return -EBUSY; |
+ } |
+ #endif |
+- retval = request_irq(irq, sir_interrupt, SA_INTERRUPT, |
++ retval = request_irq(irq, sir_interrupt, IRQF_DISABLED, |
+ LIRC_DRIVER_NAME, NULL); |
+ if (retval < 0) { |
+ # ifndef LIRC_ON_SA1100 |
Index: lirc/files/lirc-0.8.3_pre1-remotewonderplus.patch |
=================================================================== |
--- lirc/files/lirc-0.8.3_pre1-remotewonderplus.patch (nonexistent) |
+++ lirc/files/lirc-0.8.3_pre1-remotewonderplus.patch (revision 13) |
@@ -0,0 +1,26 @@ |
+--- lirc-0.8.0/drivers/lirc_atiusb/lirc_atiusb.c.orig 2005-10-29 08:18:53.000000000 -0600 |
++++ lirc-0.8.0/drivers/lirc_atiusb/lirc_atiusb.c 2006-04-01 14:31:05.000000000 -0700 |
+@@ -147,8 +147,9 @@ |
+ /* init strings */ |
+ #define USB_OUTLEN 7 |
+ |
+-static char init1[] = {0x01, 0x00, 0x20, 0x14}; |
+-static char init2[] = {0x01, 0x00, 0x20, 0x14, 0x20, 0x20, 0x20}; |
++static char init1[] = {0x80, 0x05, 0x1b, 0x15, 0x14, 0x20, 0x24, 0x15}; |
++static char init2[] = {0x83, 0x03}; |
++static char init3[] = {0x84, 0xd7, 0x020}; |
+ |
+ struct in_endpt { |
+ /* inner link in list of endpoints for the remote specified by ir */ |
+@@ -1034,8 +1034,9 @@ |
+ usb_sndintpipe(ir->usbdev, oep->ep->bEndpointAddress), oep->buf, |
+ USB_OUTLEN, usb_remote_send, oep, oep->ep->bInterval); |
+ |
+- send_packet(oep, 0x8004, init1); |
+- send_packet(oep, 0x8007, init2); |
++ send_packet(oep, 0x8007, init1); |
++ send_packet(oep, 0x8002, init2); |
++ send_packet(oep, 0x8003, init3); |
+ } |
+ } |
+ |
Index: lirc/files/lirc-0.8.3_pre3-imon-pad2keys.patch |
=================================================================== |
--- lirc/files/lirc-0.8.3_pre3-imon-pad2keys.patch (nonexistent) |
+++ lirc/files/lirc-0.8.3_pre3-imon-pad2keys.patch (revision 13) |
@@ -0,0 +1,291 @@ |
+diff -ruN lirc-0.8.3pre3-orig/drivers/lirc_imon/lirc_imon.c lirc-0.8.3pre3/drivers/lirc_imon/lirc_imon.c |
+--- lirc-0.8.3pre3-orig/drivers/lirc_imon/lirc_imon.c 2008-04-28 22:15:54.281654857 +0200 |
++++ lirc-0.8.3pre3/drivers/lirc_imon/lirc_imon.c 2008-04-28 22:16:51.381649620 +0200 |
+@@ -73,9 +73,9 @@ |
+ |
+ |
+ #define MOD_AUTHOR "Venky Raju <dev@venky.ws>" |
+-#define MOD_DESC "Driver for Soundgraph iMON MultiMedia IR/VFD" |
++#define MOD_DESC "Driver for Soundgraph iMON MultiMedia IR/VFD w/imon pad2keys patch" |
+ #define MOD_NAME "lirc_imon" |
+-#define MOD_VERSION "0.3" |
++#define MOD_VERSION "0.3p2k" |
+ |
+ #define VFD_MINOR_BASE 144 /* Same as LCD */ |
+ #define DEVFS_MODE (S_IFCHR | S_IRUSR | S_IWUSR | \ |
+@@ -91,6 +91,7 @@ |
+ #define TRUE 1 |
+ #define FALSE 0 |
+ |
++#define CURSOR_LIMIT 16 |
+ |
+ /* ------------------------------------------------------------ |
+ * P R O T O T Y P E S |
+@@ -177,6 +178,10 @@ |
+ atomic_t busy; /* write in progress */ |
+ int status; /* status of tx completion */ |
+ } tx; |
++ |
++ int key_x; |
++ int key_y; |
++ int last_count; /* number of times pressed */ |
+ }; |
+ |
+ #define LOCK_CONTEXT down(&context->sem) |
+@@ -248,6 +253,9 @@ |
+ static int is_lcd; /* If LIRC_IMON_LCD not defined, default to non-LCD */ |
+ #endif |
+ |
++/* pad2keys module parameter. pad2keys patch active? */ |
++static int pad2keys_active = 0; |
++ |
+ #if !defined(KERNEL_2_5) |
+ |
+ #define MAX_DEVICES 4 /* In case there's more than one iMON device */ |
+@@ -271,6 +279,7 @@ |
+ |
+ MODULE_AUTHOR(MOD_AUTHOR); |
+ MODULE_DESCRIPTION(MOD_DESC); |
++MODULE_VERSION(MOD_VERSION); /* MBr: was missing */ |
+ MODULE_LICENSE("GPL"); |
+ MODULE_DEVICE_TABLE(usb, imon_usb_id_table); |
+ |
+@@ -287,6 +296,9 @@ |
+ "1=yes (default:no)"); |
+ #endif |
+ |
++module_param (pad2keys_active, int, 0); |
++MODULE_PARM_DESC (pad2keys_active, "pad2keys patch active: 0=no, 1=yes (default: no)"); |
++ |
+ static inline void delete_context(struct imon_context *context) |
+ { |
+ if (context->vfd_supported) |
+@@ -766,6 +778,11 @@ |
+ context->rx.initial_space = 1; |
+ context->rx.prev_bit = 0; |
+ |
++ /* init pad context for pad2keys */ |
++ context ->key_x = 0; |
++ context ->key_y = 0; |
++ context ->last_count = 0; |
++ |
+ usb_fill_int_urb(context->rx_urb, context->dev, |
+ usb_rcvintpipe(context->dev, |
+ context->rx_endpoint->bEndpointAddress), |
+@@ -915,6 +932,94 @@ |
+ |
+ if (context->ir_onboard_decode) { |
+ /* The signals have been decoded onboard the iMON controller */ |
++ |
++ if (pad2keys_active) |
++ { |
++ /* imon pad2keys patch |
++ * |
++ * make PAD and mouse buttons available for use with VDR, |
++ * based on pad-mouse-emu patch from venky's forum |
++ * |
++ * last change: M.Brakemeier 2007-10-14 |
++ * |
++ * generated PAD key codes: |
++ * Mouse_N 0x690281B7 |
++ * Mouse_S 0x688291B7 |
++ * Mouse_W 0x6A8281B7 |
++ * Mouse_E 0x688A81B7 |
++ * |
++ * mouse buttons (non-synthetic): |
++ * MouseRightClick 0x688481B7 |
++ * MouseLeftClick 0x688301B7 |
++ */ |
++ if((buf[0] & 0x40) && |
++ !(buf[1] & 0x01 || buf[1] >> 2 & 0x01)) |
++ { |
++ int rel_x = (buf[1] & 0x08) | (buf[1] & 0x10) >> 2 | (buf[1] & 0x20) >> 4 | (buf[1] & 0x40) >> 6; |
++ int rel_y = (buf[2] & 0x08) | (buf[2] & 0x10) >> 2 | (buf[2] & 0x20) >> 4 | (buf[2] & 0x40) >> 6; |
++ |
++ if(buf[0] & 0x02) |
++ rel_x |= ~0x10+1; |
++ if(buf[0] & 0x01) |
++ rel_y |= ~0x10+1; |
++ |
++ /* keyboard direction key emulation */ |
++ if( context->last_count > 32 ) |
++ { /* Hopefully eliminate drift*/ |
++ context->last_count=0; |
++ context->key_y=0; |
++ context->key_x=0; |
++ } |
++ context->last_count++; |
++ |
++ /* limit decoded events */ |
++ if(abs(context->key_x) > CURSOR_LIMIT || abs(context->key_y) > CURSOR_LIMIT ) |
++ { |
++ if(abs(context->key_y ) > abs(context->key_x)) |
++ { /* mouse s/n */ |
++ if(context->key_y > 0 && rel_y > 0) |
++ { /* mouse s */ |
++ buf[0] = 0x68; |
++ buf[1] = 0x82; |
++ buf[2] = 0x91; |
++ } |
++ else if(context->key_y < 0 && rel_y < 0) |
++ { /* mouse n */ |
++ buf[0] = 0x69; |
++ buf[1] = 0x02; |
++ buf[2] = 0x81; |
++ } |
++ } |
++ else |
++ { /* mouse e/w*/ |
++ if(context->key_x > 0 && rel_x > 0 ) |
++ { /* mouse e */ |
++ buf[0] = 0x68; |
++ buf[1] = 0x8A; |
++ buf[2] = 0x81; |
++ } |
++ else if(context->key_x < 0 && rel_x < 0 ) |
++ { /* mouse w */ |
++ buf[0] = 0x6A; |
++ buf[1] = 0x82; |
++ buf[2] = 0x81; |
++ } |
++ } |
++ } |
++ else |
++ { |
++ context->key_x += rel_x; |
++ context->key_y += rel_y; |
++ |
++ return; /* discard those key codes */ |
++ } |
++ } |
++ /* a key was pressed, reset count */ |
++ context->key_x = 0; |
++ context->key_y = 0; |
++ context->last_count = 0; |
++ } |
++ |
+ lirc_buffer_write_1(context->plugin->rbuf, buf); |
+ wake_up(&context->plugin->rbuf->wait_poll); |
+ return; |
+diff -ruN lirc-0.8.3pre3-orig/drivers/lirc_imon/lirc_imon.c.rej lirc-0.8.3pre3/drivers/lirc_imon/lirc_imon.c.rej |
+--- lirc-0.8.3pre3-orig/drivers/lirc_imon/lirc_imon.c.rej 1970-01-01 01:00:00.000000000 +0100 |
++++ lirc-0.8.3pre3/drivers/lirc_imon/lirc_imon.c.rej 2008-04-28 22:16:02.941653915 +0200 |
+@@ -0,0 +1,26 @@ |
++*************** |
++*** 271,280 **** |
++ |
++ MODULE_AUTHOR(MOD_AUTHOR); |
++ MODULE_DESCRIPTION(MOD_DESC); |
++ MODULE_LICENSE("GPL"); |
++ MODULE_DEVICE_TABLE(usb, imon_usb_id_table); |
++ module_param(debug, int, 0); |
++ MODULE_PARM_DESC(debug, "Debug messages: 0=no, 1=yes(default: no)"); |
++ |
++ static inline void delete_context(struct imon_context *context) |
++ { |
++--- 279,291 ---- |
++ |
++ MODULE_AUTHOR(MOD_AUTHOR); |
++ MODULE_DESCRIPTION(MOD_DESC); |
+++ MODULE_VERSION(MOD_VERSION); /* MBr: was missing */ |
++ MODULE_LICENSE("GPL"); |
++ MODULE_DEVICE_TABLE(usb, imon_usb_id_table); |
++ module_param(debug, int, 0); |
++ MODULE_PARM_DESC(debug, "Debug messages: 0=no, 1=yes(default: no)"); |
+++ module_param (pad2keys_active, int, 0); |
+++ MODULE_PARM_DESC (pad2keys_active, "pad2keys patch active: 0=no, 1=yes (default: no)"); |
++ |
++ static inline void delete_context(struct imon_context *context) |
++ { |
+diff -ruN lirc-0.8.3pre3-orig/remotes/imon/lircd.conf.imon-pad2keys lirc-0.8.3pre3/remotes/imon/lircd.conf.imon-pad2keys |
+--- lirc-0.8.3pre3-orig/remotes/imon/lircd.conf.imon-pad2keys 1970-01-01 01:00:00.000000000 +0100 |
++++ lirc-0.8.3pre3/remotes/imon/lircd.conf.imon-pad2keys 2008-04-28 22:16:02.941653915 +0200 |
+@@ -0,0 +1,88 @@ |
++# Please make this file available to others |
++# by sending it to <lirc@bartelmus.de> |
++# |
++# this config file was generated |
++# using lirc-0.8.3pre1 (imon w/pad2keys patch) |
++# |
++# contributed by M.Brakemeier |
++# |
++# brand: SoundGraph |
++# model no. of remote control: iMON-PAD |
++# devices being controlled by this remote: |
++# |
++ |
++begin remote |
++ |
++ name iMON-PAD |
++ bits 32 |
++ eps 30 |
++ aeps 100 |
++ |
++ one 0 0 |
++ zero 0 0 |
++ gap 235965 |
++ min_repeat 1 |
++ toggle_bit 0 |
++ |
++ begin codes |
++ AppExit 0x288195B7 |
++ Power 0x289115B7 |
++ Record 0x298115B7 |
++ Play 0x2A8115B7 |
++ Open 0x29B1D5B7 |
++ Rewind 0x2A8195B7 |
++ Pause 0x2A9115B7 |
++ FastForward 0x2B8115B7 |
++ PrevChapter 0x2B9115B7 |
++ Stop 0x2B9715B7 |
++ NextChapter 0x298195B7 |
++ Esc 0x2BB715B7 |
++ Eject 0x299395B7 |
++ AppLauncher 0x29B715B7 |
++ MultiMon 0x2AB195B7 |
++ TaskSwitcher 0x2A9395B7 |
++ Mute 0x2B9595B7 |
++ Vol+ 0x28A395B7 |
++ Vol- 0x28A595B7 |
++ Ch+ 0x289395B7 |
++ Ch- 0x288795B7 |
++ Timer 0x2B8395B7 |
++ 1 0x28B595B7 |
++ 2 0x2BB195B7 |
++ 3 0x28B195B7 |
++ 4 0x2A8595B7 |
++ 5 0x299595B7 |
++ 6 0x2AA595B7 |
++ 7 0x2B9395B7 |
++ 8 0x2A8515B7 |
++ 9 0x2AA115B7 |
++ 0 0x2BA595B7 |
++ ShiftTab 0x28B515B7 |
++ Tab 0x29A115B7 |
++ Red 0x2B8515B7 # MyMovie |
++ Green 0x299195B7 # MyMusic |
++ Blue 0x2BA115B7 # MyPhoto |
++ Yellow 0x28A515B7 # MyTV |
++ Bookmark 0x288515B7 |
++ Thumbnail 0x2AB715B7 |
++ AspectRatio 0x29A595B7 |
++ FullScreen 0x2AA395B7 |
++ Purple 0x29A295B7 # MyDVD |
++ Menu 0x2BA385B7 |
++ Caption 0x298595B7 |
++ Language 0x2B8595B7 |
++ MouseKeyboard 0x299115B7 |
++ SelectSpace 0x2A9315B7 |
++ MouseMenu 0x28B715B7 |
++ MouseRightClick 0x688481B7 |
++ Enter 0x28A195B7 |
++ MouseLeftClick 0x688301B7 |
++ WindowsKey 0x2B8195B7 |
++ Backspace 0x28A115B7 |
++ Mouse_N 0x690281B7 |
++ Mouse_S 0x688291B7 |
++ Mouse_W 0x6A8281B7 |
++ Mouse_E 0x688A81B7 |
++ end codes |
++ |
++end remote |
Index: lirc/files/lirc-0.8.4-portaudio_check.patch |
=================================================================== |
--- lirc/files/lirc-0.8.4-portaudio_check.patch (nonexistent) |
+++ lirc/files/lirc-0.8.4-portaudio_check.patch (revision 13) |
@@ -0,0 +1,18 @@ |
+Portaudio is only needed for LIRC_DEVICES=audio, so not checking for Portaudio when the device is disabled will prevent automagic dependencies. |
+--- configure.ac.orig 2009-03-13 10:02:50.000000000 +0100 |
++++ configure.ac 2009-03-13 10:04:00.000000000 +0100 |
+@@ -336,14 +336,6 @@ |
+ AC_DEFINE(HAVE_LIBIRMAN_SW) |
+ possible_drivers="${possible_drivers} (irman_sw)" |
+ ) |
+-dnl audio driver requires PortAudio library installed and some linker flags |
+-AC_CHECK_HEADERS(portaudio.h,[ |
+- AC_CHECK_LIB(portaudio, Pa_Initialize,[ |
+- AC_DEFINE(HAVE_LIBPORTAUDIO) |
+- possible_drivers="${possible_drivers} (audio)" |
+- ],,${portaudio_lib_other} |
+- )] |
+-) |
+ dnl audio_alsa driver requires ALSA library installed and some linker flags |
+ have_alsa=no |
+ AC_CHECK_HEADERS(alsa/asoundlib.h,[ |
Index: lirc/files/lirc_i2c_r1.70_to_r1.72.patch |
=================================================================== |
--- lirc/files/lirc_i2c_r1.70_to_r1.72.patch (nonexistent) |
+++ lirc/files/lirc_i2c_r1.70_to_r1.72.patch (revision 13) |
@@ -0,0 +1,76 @@ |
+--- drivers/lirc_i2c/lirc_i2c.c 2009/08/30 16:59:53 1.70 |
++++ drivers/lirc_i2c/lirc_i2c.c 2009/12/28 15:29:03 1.72 |
+@@ -1,4 +1,4 @@ |
+-/* $Id: lirc_i2c.c,v 1.70 2009/08/30 16:59:53 jarodwilson Exp $ */ |
++/* $Id: lirc_i2c.c,v 1.72 2009/12/28 15:29:03 jarodwilson Exp $ */ |
+ |
+ /* |
+ * lirc_i2c.c |
+@@ -399,8 +399,8 @@ |
+ .name = "i2c ir driver", |
+ }, |
+ #endif |
+- .id = I2C_DRIVERID_EXP3, /* FIXME */ |
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 31) |
++ .id = I2C_DRIVERID_EXP3, /* FIXME */ |
+ .attach_adapter = ir_probe, |
+ .detach_client = ir_remove, |
+ #else |
+@@ -492,20 +492,23 @@ |
+ ir->l.add_to_buf = add_to_buf_pv951; |
+ break; |
+ case 0x71: |
+-#ifdef I2C_HW_B_CX2341X |
+- if (adap->id == (I2C_ALGO_BIT | I2C_HW_B_BT848) || |
+- adap->id == (I2C_ALGO_BIT | I2C_HW_B_CX2341X)) { |
+-#else |
+- if (adap->id == (I2C_ALGO_BIT | I2C_HW_B_BT848)) { |
++ |
++ |
++ |
++#ifdef I2C_HW_B_CX2388x |
++ /* Leadtek Winfast PVR2000 or Hauppauge HVR-1300 */ |
++ if (adap->id == (I2C_ALGO_BIT | I2C_HW_B_CX2388x)) |
++ strlcpy(ir->c.name, "Hauppauge HVR1300", I2C_NAME_SIZE); |
++ else |
+ #endif |
++ { |
+ /* |
+ * The PVR150 IR receiver uses the same protocol as |
+ * other Hauppauge cards, but the data flow is |
+ * different, so we need to deal with it by its own. |
+ */ |
+ strlcpy(ir->c.name, "Hauppauge PVR150", I2C_NAME_SIZE); |
+- } else /* I2C_HW_B_CX2388x */ |
+- strlcpy(ir->c.name, "Hauppauge HVR1300", I2C_NAME_SIZE); |
++ } |
+ ir->l.code_length = 13; |
+ ir->l.add_to_buf = add_to_buf_haup_pvr150; |
+ break; |
+@@ -516,19 +519,18 @@ |
+ break; |
+ case 0x18: |
+ case 0x1a: |
+-#ifdef I2C_HW_B_CX2341X |
+- if (adap->id == (I2C_ALGO_BIT | I2C_HW_B_BT848) || |
+- adap->id == (I2C_ALGO_BIT | I2C_HW_B_CX2341X)) { |
++#ifdef I2C_HW_B_CX2388x |
++ if (adap->id == (I2C_ALGO_BIT | I2C_HW_B_CX2388x)) { |
++ strlcpy(ir->c.name, "Leadtek IR", I2C_NAME_SIZE); |
++ ir->l.code_length = 8; |
++ ir->l.add_to_buf = add_to_buf_pvr2000; |
++ } else { |
+ #else |
+- if (adap->id == (I2C_ALGO_BIT | I2C_HW_B_BT848)) { |
++ { |
+ #endif |
+ strlcpy(ir->c.name, "Hauppauge IR", I2C_NAME_SIZE); |
+ ir->l.code_length = 13; |
+ ir->l.add_to_buf = add_to_buf_haup; |
+- } else { /* I2C_HW_B_CX2388x */ |
+- strlcpy(ir->c.name, "Leadtek IR", I2C_NAME_SIZE); |
+- ir->l.code_length = 8; |
+- ir->l.add_to_buf = add_to_buf_pvr2000; |
+ } |
+ break; |
+ case 0x30: |
Index: lirc/files/lircd |
=================================================================== |
--- lirc/files/lircd (nonexistent) |
+++ lirc/files/lircd (revision 13) |
@@ -0,0 +1,16 @@ |
+#!/sbin/runscript |
+# Copyright 1999-2004 Gentoo Foundation |
+# Distributed under the terms of the GNU General Public License v2 |
+# $Header: /var/cvsroot/gentoo-x86/app-misc/lirc/files/lircd,v 1.6 2004/09/26 21:27:07 lanius Exp $ |
+ |
+start() { |
+ ebegin "Starting lircd" |
+ start-stop-daemon --start --quiet --exec /usr/sbin/lircd -- ${LIRCD_OPTS} |
+ eend $? |
+} |
+ |
+stop() { |
+ ebegin "Stopping lircd" |
+ start-stop-daemon --stop --quiet --exec /usr/sbin/lircd |
+ eend $? |
+} |
/lirc/files/lircd |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: lirc/files/lircd-0.8.3 |
=================================================================== |
--- lirc/files/lircd-0.8.3 (nonexistent) |
+++ lirc/files/lircd-0.8.3 (revision 13) |
@@ -0,0 +1,23 @@ |
+#!/sbin/runscript |
+# Copyright 1999-2004 Gentoo Foundation |
+# Distributed under the terms of the GNU General Public License v2 |
+# $Header: /var/cvsroot/gentoo-x86/app-misc/lirc/files/lircd-0.8.3,v 1.1 2008/05/05 09:53:19 zzam Exp $ |
+ |
+PIDFILE=/var/run/${SVCNAME}.pid |
+ |
+depend() { |
+ provide lirc |
+} |
+ |
+start() { |
+ ebegin "Starting lircd" |
+ start-stop-daemon --start --quiet --pidfile "${PIDFILE}" --exec /usr/sbin/lircd -- \ |
+ -P "${PIDFILE}" ${LIRCD_OPTS} |
+ eend $? |
+} |
+ |
+stop() { |
+ ebegin "Stopping lircd" |
+ start-stop-daemon --stop --quiet --pidfile "${PIDFILE}" --exec /usr/sbin/lircd |
+ eend $? |
+} |
Index: lirc/files/lircd-0.8.6 |
=================================================================== |
--- lirc/files/lircd-0.8.6 (nonexistent) |
+++ lirc/files/lircd-0.8.6 (revision 13) |
@@ -0,0 +1,39 @@ |
+#!/sbin/runscript |
+# Copyright 1999-2004 Gentoo Foundation |
+# Distributed under the terms of the GNU General Public License v2 |
+# $Header: /var/cvsroot/gentoo-x86/app-misc/lirc/files/lircd-0.8.6,v 1.1 2009/10/04 18:48:29 fauli Exp $ |
+ |
+PIDFILE=/var/run/lirc/${SVCNAME}.pid |
+LIRCD_SYMLINKFILE=/dev/lircd |
+LIRCD_SOCKET=/var/run/lirc/lircd |
+ |
+depend() { |
+ provide lirc |
+} |
+ |
+start() { |
+ local retval |
+ ebegin "Starting lircd" |
+ rm -f ${LIRCD_SOCKET} && ln -s ${LIRCD_SOCKET} ${LIRCD_SYMLINKFILE} |
+ if [ $? -ne 0 ]; then |
+ eend $? "Unable to create symbolic link ${LIRCD_SYMLINKFILE}" |
+ return 1 |
+ fi |
+ |
+ start-stop-daemon --start --quiet --pidfile "${PIDFILE}" --exec /usr/sbin/lircd -- \ |
+ -P "${PIDFILE}" ${LIRCD_OPTS} |
+ retval=$? |
+ |
+ if [ ${retval} -ne 0 ]; then |
+ rm -f ${LIRCD_SOCKET} |
+ fi |
+ |
+ eend ${retval} |
+} |
+ |
+stop() { |
+ ebegin "Stopping lircd" |
+ rm -f ${LIRCD_SYMLINKFILE} |
+ start-stop-daemon --stop --quiet --pidfile "${PIDFILE}" --exec /usr/sbin/lircd |
+ eend $? |
+} |
Index: lirc/files/lircd.conf.2 |
=================================================================== |
--- lirc/files/lircd.conf.2 (nonexistent) |
+++ lirc/files/lircd.conf.2 (revision 13) |
@@ -0,0 +1,10 @@ |
+# Options to pass to the lircd process |
+ |
+# for devices with lirc-kernel-module |
+#LIRCD_OPTS="-d /dev/lirc0" |
+#LIRCD_OPTS="-d /dev/lirc" |
+ |
+# for devices using the input-layer |
+#LIRCD_OPTS="-H devinput -d /dev/input/by-path/pci-0000:00:0a.0--event-ir" |
+# This should work, Bug #235107 |
+#LIRCD_OPTS="-H devinput name=*DVB*" |
Index: lirc/files/lircmd |
=================================================================== |
--- lirc/files/lircmd (nonexistent) |
+++ lirc/files/lircmd (revision 13) |
@@ -0,0 +1,20 @@ |
+#!/sbin/runscript |
+# Copyright 1999-2004 Gentoo Foundation |
+# Distributed under the terms of the GNU General Public License v2 |
+# $Header: /var/cvsroot/gentoo-x86/app-misc/lirc/files/lircmd,v 1.2 2004/09/28 00:22:15 swegener Exp $ |
+ |
+depend() { |
+ need lircd |
+} |
+ |
+start() { |
+ ebegin "Starting lircmd" |
+ start-stop-daemon --start --quiet --exec /usr/sbin/lircmd |
+ eend $? |
+} |
+ |
+stop() { |
+ ebegin "Stopping lircmd" |
+ start-stop-daemon --stop --quiet --exec /usr/sbin/lircmd |
+ eend $? |
+} |
/lirc/files/lircmd |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: lirc/files/modprobed.lirc |
=================================================================== |
--- lirc/files/modprobed.lirc (nonexistent) |
+++ lirc/files/modprobed.lirc (revision 13) |
@@ -0,0 +1,22 @@ |
+# |
+# For first serial receivers: |
+# |
+#options lirc_serial irq=4 io=0x3f8 |
+#options lirc_sir irq=4 io=0x3f8 |
+ |
+# |
+# Detach first serial port from serial-driver. |
+# Use this when you have your serial-port-driver statically |
+# compiled into your kernel, or as a module but loaded before |
+# the lirc-module. |
+# |
+#install lirc_serial setserial /dev/ttyS0 uart none; modprobe --ignore-install lirc_serial |
+# |
+#install lirc_sir setserial /dev/ttyS0 uart none; modprobe --ignore-install lirc_sir |
+ |
+ |
+# |
+# For parallel receivers: |
+# |
+#options lirc_parallel irq=7 io=0x3bc |
+ |
Index: lirc/files/modulesd.lirc |
=================================================================== |
--- lirc/files/modulesd.lirc (nonexistent) |
+++ lirc/files/modulesd.lirc (revision 13) |
@@ -0,0 +1,22 @@ |
+# |
+# For first serial receivers: |
+# |
+#options lirc_serial irq=4 io=0x3f8 |
+#options lirc_sir irq=4 io=0x3f8 |
+ |
+# |
+# Detach first serial port from serial-driver. |
+# Use this when you have your serial-port-driver statically |
+# compiled into your kernel, or as a module but loaded before |
+# the lirc-module. |
+# |
+#pre-install lirc_serial setserial /dev/ttyS0 uart none |
+# |
+#pre-install lirc_sir setserial /dev/ttyS0 uart none |
+ |
+ |
+# |
+# For parallel receivers: |
+# |
+#options lirc_parallel irq=7 io=0x3bc |
+ |
Index: lirc/files/xbox-lircd.conf |
=================================================================== |
--- lirc/files/xbox-lircd.conf (nonexistent) |
+++ lirc/files/xbox-lircd.conf (revision 13) |
@@ -0,0 +1,55 @@ |
+# |
+# LIRCD configuration file for Xbox DVD Kit |
+# |
+# Marko Friedemann <mfr@bmx-chemnitz.de> |
+# |
+# |
+# brand: Microsoft |
+# model: Xbox DVD Remote |
+# supported devices: Xbox DVD Remote via xpad-ir driver |
+# |
+# comment: EXPERIMENTAL |
+# |
+ |
+begin remote |
+ |
+ name XboxDVDDongle |
+ bits 8 |
+ |
+ begin codes |
+ |
+ SELECT 0x0b |
+ UP 0xa6 |
+ DOWN 0xa7 |
+ RIGHT 0xa8 |
+ LEFT 0xa9 |
+ INFO 0xc3 |
+ |
+ 9 0xc6 |
+ 8 0xc7 |
+ 7 0xc8 |
+ 6 0xc9 |
+ 5 0xca |
+ 4 0xcb |
+ 3 0xcc |
+ 2 0xcd |
+ 1 0xce |
+ 0 0xcf |
+ |
+ DISPLAY 0xd5 |
+ BACK 0xd8 |
+ SKIP+ 0xdd |
+ SKIP- 0xdf |
+ STOP 0xe0 |
+ REVERSE 0xe2 |
+ FORWARD 0xe3 |
+ TITLE 0xe5 |
+ PAUSE 0xe6 |
+ PLAY 0xea |
+ MENU 0xf7 |
+ |
+ end codes |
+ |
+end remote |
+ |
+ |
/lirc/files/xbox-lircd.conf |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: lirc/Manifest |
=================================================================== |
--- lirc/Manifest (nonexistent) |
+++ lirc/Manifest (revision 13) |
@@ -0,0 +1,24 @@ |
+AUX irexec-confd 280 RMD160 f669c7c98b9d7cac2010284ab6068d29d47ec811 SHA1 c6decc19a273d98d451de137a2ffbe16d5df28ae SHA256 c404ad3b624004cab25bd3a89593cdeb0abbc25771d6e52caf2f37cb4f7b2b79 |
+AUX irexec-initd 808 RMD160 06b02232f892ab032e2bf8b35bb2945a623a2610 SHA1 5c5630e5434c2430b9a74b725fc5350e29adaede SHA256 9325419aa45d80c205bc1cd47fe839b178da74bca5dd928cbe3ae17423b92493 |
+AUX irexec-initd-0.8.6-r2 816 RMD160 e9969072ccbdcb284781a4224c9fa2afc72fecaf SHA1 ab066d769417e13c194112ba99f309bb1cb0d2e5 SHA256 5e5a31fbd93294a6e210499a880fcab371b23706824c9d60d827b0187d7bade4 |
+AUX lirc-0.8.3-imon-pad2keys.patch 11556 RMD160 89a050f7099593000a40b15c46de6137f3b10dfa SHA1 019b1aa3d72df9e4b28796c173fb4fa1fc3e457d SHA256 347c6195d971f8d1a3f4c29a1ff4750d04cea297d16679aeda7529ac1720d42e |
+AUX lirc-0.8.3-kernel-2.6.26.diff 3233 RMD160 654d6375f8b0a4e45ce2c60d18581cb2dc7c38a3 SHA1 3465689927bd998fcd4e6875ccc004346c93c4cf SHA256 2e70c6806dc24e0c3288f55f5a20ad7484e05752ca8efd5254e3be3ff73cbefd |
+AUX lirc-0.8.3-kernel-2.6.27.diff 1253 RMD160 9ece885b51b356ef1001f5f58fb913e1931365a6 SHA1 8da93ede404e425bcc676079129ba70e8f581a4b SHA256 64c0e4d7bca25d07f903352329445f6e95c42edd73b21ac040e190609f34807f |
+AUX lirc-0.8.3-pa19.patch 1954 RMD160 bb90abc0c35fd5e9827ca993bca51d3075ccb3b8 SHA1 7cae24797dd132a226293bd1e47d87505be4c37a SHA256 d5c4959c78a4f83bc494788c45da2ec5fe7d5c1362f82136233068cc2e87ca8e |
+AUX lirc-0.8.3_pre1-imon-pad2keys.patch 10312 RMD160 6f61031cd3035289b2d52797dd02d027f593873d SHA1 c59aab62c9b59e27b93d5613e050438fcf2c6eed SHA256 2f79f223d5d2e998321284c50edea044ad26ab8607eae1e9e79e7c0ea6a8f2cd |
+AUX lirc-0.8.3_pre1-kernel-2.6.24.diff 3140 RMD160 ad09e63973827b180530c63a6c49c4e180629198 SHA1 e66cae5faf48a7f9e8d7e391b3fdf6f8984e2074 SHA256 d992cca976d34d7e78a3709908852b828722a9ef18d7ee2151cd1e9de9b529d3 |
+AUX lirc-0.8.3_pre1-remotewonderplus.patch 943 RMD160 05a0696d51ff01c7d9644ad3ff4d56fef20be439 SHA1 971ad8b27d57c31439a1f7fb87dac2dc39d6c1e8 SHA256 547efbfa30f282ba9100495044e3b720c8f74c44f9a4e34db934d2ac7976fe29 |
+AUX lirc-0.8.3_pre3-imon-pad2keys.patch 11556 RMD160 96137f08691e341844d7ebc860337e1b6e4baf25 SHA1 885ac9bbcc73e0f815c9e3eb867b36e335eeb52f SHA256 7ce01a1fe0dd2021b9dcf1d3c764d5a4704aab33cd616d92f1ff401f31d17d3f |
+AUX lirc-0.8.4-portaudio_check.patch 769 RMD160 d83b1a167da5b0c4e09ef716a4fc80f7261f7665 SHA1 81537dc12f897756d24fcf2cf4d178dc8169e360 SHA256 01e2034aaa6a7eb039e5c0e6c3b4a6ed38860614d3d0b0005d99a4aac2b3827e |
+AUX lirc_i2c_r1.70_to_r1.72.patch 2285 RMD160 1fca70f5ec15fddc7bb7167e0d4531b99b40fe95 SHA1 c6e802110e584a1f2bac8297e19428d79ec33c94 SHA256 c5836be6ef0be4f6ee1afff779b778b6fa61437f81339d79a640b241cc1f2806 |
+AUX lircd 450 RMD160 73cf3057f420632e90e80eeb30e79cdbb3390b5d SHA1 e43d500a672bf89b7dc5e6bdedc9ed8e90dac3b3 SHA256 a9d6d2cc0abd0efe3267c1477fac012378e63e26aa021cfce7a0e25b27f196df |
+AUX lircd-0.8.3 581 RMD160 162a54bb19df7b97aa982355a6d009ddc82580eb SHA1 c0f7a0a65169d02bdc7003d574d8610694241a5d SHA256 9ba3c5a8c0ca5966729dc5e2c7a5960bbf12b443d91e9e319a0277f153df1b1f |
+AUX lircd-0.8.6 941 RMD160 e26898ef4660b2a23cad190e224270181900181a SHA1 ee2f5422f259b4ee486baa1ae88019948fed5a40 SHA256 753957bc06a851388c71b6c98ec3463e61a26308c8643ed8c0257cb1757efdae |
+AUX lircd.conf.2 314 RMD160 895fd43ce98f478e6ef8d3375c2be86f7b22f0dd SHA1 4edb23d7f14c8d92bc19d59734f8f3ebe9f30e75 SHA256 bf62f0985e97b4bd8828d609bb0daa543b7c158f457d597712752d50e2265adb |
+AUX lircmd 466 RMD160 32f2b2411afc60522944f5c3dff9f53aac242a9c SHA1 79939de790d20704009643bd810e3186090d0e36 SHA256 d47f22a33a83c14a4a0c333d6a445c40e550c491899fb0c6d323e23fe1eac7b7 |
+AUX modprobed.lirc 549 RMD160 89edfd587932959df9e521d146cef7c67cf97b18 SHA1 f59d8f031859eb6b6dccd1faf15d7ed2251288b1 SHA256 b4951252321ea326d3ec401e5ff1112716c5aaf5b2ca94d9f5e187e22ad35c44 |
+AUX modulesd.lirc 482 RMD160 0c7ec9881b337529acaf15eb4bf7a66a8623fc6c SHA1 8415e466cad31278496bafa817ccabbb72c56ce4 SHA256 3906b61951e1245cb3c9b16e81255a735f7bcdbbfcbedcdf44cd53236e2a3f28 |
+AUX xbox-lircd.conf 784 RMD160 844b08d504f5afb996f900d3d225cc855fbf4884 SHA1 65c3b9c295bc8ab8f80077dd3a40b599d1a60ce3 SHA256 03979bd658ed4a5705c358a1278b1565dd10463ab6eb14fa8d25b3d98e645008 |
+DIST lirc-0.8.6.tar.bz2 730341 RMD160 c4301b1ac966be48c856b606ae0fedd366cb608d SHA1 199aad7381e785945e4634f9a002e5ac35bf8930 SHA256 0a82e73b1bbf1712cff9d757739f9a2083be246d1b1d071f8808b5e6cca4d1a1 |
+EBUILD lirc-0.8.6-r3.ebuild 10192 RMD160 ce3547cf1d40835f0705fc15455d0e091353284f SHA1 4fda5bbdc9c587bad83ca94c13890c24c784235a SHA256 63d25e1415797f0a75cdb26857e9124c53621e9a60b911c0d14f0b817585b340 |
+MISC metadata.xml 376 RMD160 7b854dad1999c38592eabe928aab80615ba1f1e5 SHA1 17dc9c9591c77aa4ec2d98b9bc1f34ff68da31ad SHA256 e3b4637a67a93eb4b9457fa5941e8a6a891adca11a1ebc80c21a59650eac93aa |
Index: lirc/lirc-0.8.6-r3.ebuild |
=================================================================== |
--- lirc/lirc-0.8.6-r3.ebuild (nonexistent) |
+++ lirc/lirc-0.8.6-r3.ebuild (revision 13) |
@@ -0,0 +1,362 @@ |
+# Copyright 1999-2009 Gentoo Foundation |
+# Distributed under the terms of the GNU General Public License v2 |
+# $Header: /var/cvsroot/gentoo-x86/app-misc/lirc/lirc-0.8.6-r2.ebuild,v 1.1 2009/11/15 10:04:21 zzam Exp $ |
+ |
+inherit eutils linux-mod flag-o-matic autotools |
+ |
+DESCRIPTION="decode and send infra-red signals of many commonly used remote controls" |
+HOMEPAGE="http://www.lirc.org/" |
+ |
+MY_P=${PN}-${PV/_/} |
+ |
+if [[ "${PV/_pre/}" = "${PV}" ]]; then |
+ SRC_URI="mirror://sourceforge/lirc/${MY_P}.tar.bz2" |
+else |
+ SRC_URI="http://www.lirc.org/software/snapshots/${MY_P}.tar.bz2" |
+fi |
+ |
+LICENSE="GPL-2" |
+SLOT="0" |
+KEYWORDS="~amd64 ~x86" |
+IUSE="debug doc X hardware-carrier transmitter" |
+ |
+S="${WORKDIR}/${MY_P}" |
+ |
+RDEPEND=" |
+ X? ( |
+ x11-libs/libX11 |
+ x11-libs/libSM |
+ x11-libs/libICE |
+ ) |
+ lirc_devices_alsa_usb? ( media-libs/alsa-lib ) |
+ lirc_devices_audio? ( >media-libs/portaudio-18 ) |
+ lirc_devices_irman? ( media-libs/libirman )" |
+ |
+# This are drivers with names matching the |
+# parameter --with-driver=NAME |
+IUSE_LIRC_DEVICES_DIRECT=" |
+ all userspace accent act200l act220l |
+ adaptec alsa_usb animax asusdh atilibusb |
+ atiusb audio audio_alsa avermedia avermedia_vdomate |
+ avermedia98 awlibusb bestbuy bestbuy2 breakoutbox |
+ bte bw6130 caraca chronos commandir |
+ cph06x creative creative_infracd |
+ devinput digimatrix dsp dvico ea65 ene0100 |
+ exaudio flyvideo ftdi gvbctv5pci hauppauge |
+ hauppauge_dvb hercules_smarttv_stereo i2cuser |
+ igorplugusb iguanaIR imon imon_24g imon_knob |
+ imon_lcd imon_pad imon_rsc irdeo irdeo_remote |
+ irlink irman irreal it87 ite8709 |
+ knc_one kworld leadtek_0007 leadtek_0010 |
+ leadtek_pvr2000 livedrive_midi |
+ livedrive_seq logitech macmini mceusb |
+ mediafocusI mouseremote |
+ mouseremote_ps2 mp3anywhere mplay nslu2 |
+ packard_bell parallel pcmak pcmak_usb |
+ pctv pixelview_bt878 pixelview_pak |
+ pixelview_pro provideo realmagic |
+ remotemaster sa1100 samsung sasem sb0540 serial |
+ silitek sir slinke streamzap tekram |
+ tekram_bt829 tira ttusbir tuxbox tvbox udp uirt2 |
+ uirt2_raw usb_uirt_raw usbx wpc8769l" |
+ |
+# drivers that need special handling and |
+# must have another name specified for |
+# parameter --with-driver=NAME |
+IUSE_LIRC_DEVICES_SPECIAL=" |
+ serial_igor_cesko |
+ remote_wonder_plus xboxusb usbirboy inputlirc" |
+ |
+IUSE_LIRC_DEVICES="${IUSE_LIRC_DEVICES_DIRECT} ${IUSE_LIRC_DEVICES_SPECIAL}" |
+ |
+#device-driver which use libusb |
+LIBUSB_USED_BY_DEV=" |
+ all atilibusb awlibusb sasem igorplugusb imon imon_lcd imon_pad |
+ imon_rsc streamzap mceusb xboxusb irlink commandir" |
+ |
+for dev in ${LIBUSB_USED_BY_DEV}; do |
+ DEPEND="${DEPEND} lirc_devices_${dev}? ( dev-libs/libusb )" |
+done |
+ |
+# adding only compile-time depends |
+DEPEND="${RDEPEND} ${DEPEND} |
+ virtual/linux-sources |
+ lirc_devices_ftdi? ( dev-embedded/libftdi ) |
+ lirc_devices_all? ( dev-embedded/libftdi )" |
+ |
+# adding only run-time depends |
+RDEPEND="${RDEPEND} |
+ lirc_devices_usbirboy? ( app-misc/usbirboy ) |
+ lirc_devices_inputlirc? ( app-misc/inputlircd ) |
+ lirc_devices_iguanaIR? ( app-misc/iguanaIR )" |
+ |
+# add all devices to IUSE |
+for dev in ${IUSE_LIRC_DEVICES}; do |
+ IUSE="${IUSE} lirc_devices_${dev}" |
+done |
+ |
+add_device() { |
+ : ${lirc_device_count:=0} |
+ ((lirc_device_count++)) |
+ |
+ if [[ ${lirc_device_count} -eq 2 ]]; then |
+ ewarn |
+ ewarn "When selecting multiple devices for lirc to be supported," |
+ ewarn "it can not be guaranteed that the drivers play nice together." |
+ ewarn |
+ ewarn "If this is not intended, then abort emerge now with Ctrl-C," |
+ ewarn "Set LIRC_DEVICES and restart emerge." |
+ ewarn |
+ epause |
+ fi |
+ |
+ local dev="${1}" |
+ local desc="device ${dev}" |
+ if [[ -n "${2}" ]]; then |
+ desc="${2}" |
+ fi |
+ |
+ elog "Compiling support for ${desc}" |
+ MY_OPTS="${MY_OPTS} --with-driver=${dev}" |
+} |
+ |
+pkg_setup() { |
+ |
+ if use lirc_devices_mceusb2 |
+ then |
+ ewarn "The mceusb2 driver has been merged into the mceusb." |
+ ewarn "Please only use the latter now." |
+ fi |
+ |
+ ewarn "If your LIRC device requires modules, you'll need MODULE_UNLOAD" |
+ ewarn "support in your kernel." |
+ |
+ linux-mod_pkg_setup |
+ |
+ # set default configure options |
+ MY_OPTS="" |
+ LIRC_DRIVER_DEVICE="/dev/lirc0" |
+ |
+ if use lirc_devices_all; then |
+ # compile in drivers for a lot of devices |
+ add_device all "a lot of devices" |
+ else |
+ # compile in only requested drivers |
+ local dev |
+ for dev in ${IUSE_LIRC_DEVICES_DIRECT}; do |
+ if use lirc_devices_${dev}; then |
+ add_device ${dev} |
+ fi |
+ done |
+ |
+ if use lirc_devices_remote_wonder_plus; then |
+ add_device atiusb "device Remote Wonder Plus (atiusb-based)" |
+ fi |
+ |
+ if use lirc_devices_serial_igor_cesko; then |
+ add_device serial "serial with Igor Cesko design" |
+ MY_OPTS="${MY_OPTS} --with-igor" |
+ fi |
+ |
+ if use lirc_devices_imon_pad; then |
+ ewarn "The imon_pad driver has incorporated the previous pad2keys patch" |
+ ewarn "and removed the pad2keys_active option for the lirc_imon module" |
+ ewarn "because it is always active." |
+ ewarn "If you have an older imon VFD device, you may need to add the module" |
+ ewarn "option display_type=1 to override autodetection and force VFD mode." |
+ fi |
+ |
+ if use lirc_devices_xboxusb; then |
+ add_device atiusb "device xboxusb" |
+ fi |
+ |
+ if use lirc_devices_usbirboy; then |
+ add_device userspace "device usbirboy" |
+ LIRC_DRIVER_DEVICE="/dev/usbirboy" |
+ fi |
+ |
+ if [[ "${MY_OPTS}" == "" ]]; then |
+ if [[ "${PROFILE_ARCH}" == "xbox" ]]; then |
+ # on xbox: use special driver |
+ add_device atiusb "device xboxusb" |
+ else |
+ # no driver requested |
+ elog |
+ elog "Compiling only the lirc-applications, but no drivers." |
+ elog "Enable drivers with LIRC_DEVICES if you need them." |
+ MY_OPTS="--with-driver=none" |
+ fi |
+ fi |
+ fi |
+ |
+ use hardware-carrier && MY_OPTS="${MY_OPTS} --without-soft-carrier" |
+ use transmitter && MY_OPTS="${MY_OPTS} --with-transmitter" |
+ |
+ if [[ -n "${LIRC_OPTS}" ]] ; then |
+ ewarn |
+ ewarn "LIRC_OPTS is deprecated from lirc-0.8.0-r1 on." |
+ ewarn |
+ ewarn "Please use LIRC_DEVICES from now on." |
+ ewarn "e.g. LIRC_DEVICES=\"serial sir\"" |
+ ewarn |
+ ewarn "Flags are now set per use-flags." |
+ ewarn "e.g. transmitter, hardware-carrier" |
+ |
+ local opt |
+ local unsupported_opts="" |
+ |
+ # test for allowed options for LIRC_OPTS |
+ for opt in ${LIRC_OPTS}; do |
+ case ${opt} in |
+ --with-port=*|--with-irq=*|--with-timer=*|--with-tty=*) |
+ MY_OPTS="${MY_OPTS} ${opt}" |
+ ;; |
+ *) |
+ unsupported_opts="${unsupported_opts} ${opt}" |
+ ;; |
+ esac |
+ done |
+ if [[ -n ${unsupported_opts} ]]; then |
+ ewarn "These options are no longer allowed to be set" |
+ ewarn "with LIRC_OPTS: ${unsupported_opts}" |
+ die "LIRC_OPTS is no longer recommended." |
+ fi |
+ fi |
+ |
+ # Setup parameter for linux-mod.eclass |
+ MODULE_NAMES="lirc(misc:${S})" |
+ BUILD_TARGETS="all" |
+ |
+ ECONF_PARAMS=" --localstatedir=/var |
+ --with-syslog=LOG_DAEMON |
+ --enable-sandboxed |
+ --with-kerneldir=${KV_DIR} |
+ --with-moduledir=/lib/modules/${KV_FULL}/misc |
+ $(use_enable debug) |
+ $(use_with X x) |
+ ${MY_OPTS}" |
+ |
+ einfo |
+ einfo "lirc-configure-opts: ${MY_OPTS}" |
+ elog "Setting default lirc-device to ${LIRC_DRIVER_DEVICE}" |
+ |
+ filter-flags -Wl,-O1 |
+ |
+ # force non-parallel make, Bug 196134 |
+ MAKEOPTS="${MAKEOPTS} -j1" |
+} |
+ |
+src_unpack() { |
+ unpack ${A} |
+ cd "${S}" |
+ |
+ # Rip out dos CRLF |
+ edos2unix contrib/lirc.rules |
+ |
+ # Apply patches needed for some special device-types |
+ use lirc_devices_audio || epatch "${FILESDIR}"/lirc-0.8.4-portaudio_check.patch |
+ use lirc_devices_remote_wonder_plus && epatch "${FILESDIR}"/lirc-0.8.3_pre1-remotewonderplus.patch |
+ |
+ # remove parallel driver on SMP systems |
+ if linux_chkconfig_present SMP ; then |
+ sed -i -e "s:lirc_parallel\.o::" drivers/lirc_parallel/Makefile.am |
+ fi |
+ |
+ # Bug #187418 |
+ if kernel_is ge 2 6 22 ; then |
+ ewarn "Disabling lirc_gpio driver as it does no longer work Kernel 2.6.22+" |
+ sed -i -e "s:lirc_gpio\.o::" drivers/lirc_gpio/Makefile.am |
+ fi |
+ |
+ # Apply patch from upsrtream version 1.70 to 1.71 |
+ epatch "${FILESDIR}"/lirc_i2c_r1.70_to_r1.72.patch |
+ |
+ # respect CFLAGS |
+ sed -i -e 's:CFLAGS="-O2:CFLAGS=""\n#CFLAGS="-O2:' configure.ac |
+ |
+ # setting default device-node |
+ local f |
+ for f in configure.ac acconfig.h; do |
+ [[ -f "$f" ]] && sed -i -e '/#define LIRC_DRIVER_DEVICE/d' "$f" |
+ done |
+ echo "#define LIRC_DRIVER_DEVICE \"${LIRC_DRIVER_DEVICE}\"" >> acconfig.h |
+ |
+ eautoreconf |
+} |
+ |
+src_install() { |
+ emake DESTDIR="${D}" install || die "emake install failed" |
+ |
+ newinitd "${FILESDIR}"/lircd-0.8.6 lircd |
+ newinitd "${FILESDIR}"/lircmd lircmd |
+ newconfd "${FILESDIR}"/lircd.conf.2 lircd |
+ |
+ insinto /etc/modprobe.d/ |
+ newins "${FILESDIR}"/modprobed.lirc lirc.conf |
+ |
+ newinitd "${FILESDIR}"/irexec-initd-0.8.6-r2 irexec |
+ newconfd "${FILESDIR}"/irexec-confd irexec |
+ |
+ if use doc ; then |
+ dohtml doc/html/*.html |
+ insinto /usr/share/doc/${PF}/images |
+ doins doc/images/* |
+ fi |
+ |
+ insinto /usr/share/lirc/remotes |
+ doins -r remotes/* |
+ |
+ keepdir /var/run/lirc /etc/lirc |
+ if [[ -e "${D}"/etc/lirc/lircd.conf ]]; then |
+ newdoc "${D}"/etc/lirc/lircd.conf lircd.conf.example |
+ fi |
+} |
+ |
+pkg_preinst() { |
+ linux-mod_pkg_preinst |
+ |
+ local dir="${ROOT}/etc/modprobe.d" |
+ if [[ -a "${dir}"/lirc && ! -a "${dir}"/lirc.conf ]]; then |
+ elog "Renaming ${dir}/lirc to lirc.conf" |
+ mv -f "${dir}/lirc" "${dir}/lirc.conf" |
+ fi |
+ |
+ # copy the first file that can be found |
+ if [[ -f "${ROOT}"/etc/lirc/lircd.conf ]]; then |
+ cp "${ROOT}"/etc/lirc/lircd.conf "${T}"/lircd.conf |
+ elif [[ -f "${ROOT}"/etc/lircd.conf ]]; then |
+ cp "${ROOT}"/etc/lircd.conf "${T}"/lircd.conf |
+ MOVE_OLD_LIRCD_CONF=1 |
+ elif [[ -f "${D}"/etc/lirc/lircd.conf ]]; then |
+ cp "${D}"/etc/lirc/lircd.conf "${T}"/lircd.conf |
+ fi |
+ |
+ # stop portage from touching the config file |
+ if [[ -e "${D}"/etc/lirc/lircd.conf ]]; then |
+ rm -f "${D}"/etc/lirc/lircd.conf |
+ fi |
+} |
+ |
+pkg_postinst() { |
+ linux-mod_pkg_postinst |
+ |
+ # copy config file to new location |
+ # without portage knowing about it |
+ # so it will not delete it on unmerge or ever touch it again |
+ if [[ -e "${T}"/lircd.conf ]]; then |
+ cp "${T}"/lircd.conf "${ROOT}"/etc/lirc/lircd.conf |
+ if [[ "$MOVE_OLD_LIRCD_CONF" = "1" ]]; then |
+ elog "Moved /etc/lircd.conf to /etc/lirc/lircd.conf" |
+ rm -f "${ROOT}"/etc/lircd.conf |
+ fi |
+ fi |
+ |
+ ewarn |
+ ewarn "The lirc_gpio driver will not work with Kernels 2.6.22+" |
+ ewarn "You need to switch over to /dev/input/event? if you need gpio" |
+ ewarn "This device can than then be used via lirc's dev/input driver." |
+ ewarn |
+ ewarn "The new default location for lircd.conf is inside of" |
+ ewarn "/etc/lirc/ directory" |
+ |
+} |
Index: lirc/metadata.xml |
=================================================================== |
--- lirc/metadata.xml (nonexistent) |
+++ lirc/metadata.xml (revision 13) |
@@ -0,0 +1,11 @@ |
+<?xml version="1.0" encoding="UTF-8"?> |
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
+<pkgmetadata> |
+<herd>media-tv</herd> |
+<use> |
+ <flag name='hardware-carrier'>The transmitter device generates its clock |
+ signal in hardware</flag> |
+ <flag name='transmitter'>Add transmitter support to some lirc-drivers |
+ (e.g. serial)</flag> |
+</use> |
+</pkgmetadata> |
/lirc/metadata.xml |
---|
Property changes: |
Added: svn:mime-type |
## -0,0 +1 ## |
+text/plain |
\ No newline at end of property |