lirc: update to lirc-0.9.0

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2011-03-26 08:10:29 +01:00
parent 72ba432f04
commit c30c2b92b4
6 changed files with 19 additions and 204 deletions

View File

@ -25,7 +25,7 @@ PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://code.google.com/p/eventlircd"
PKG_URL="$OPENELEC_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_DEPENDS="udev lirc"
PKG_DEPENDS="udev"
PKG_BUILD_DEPENDS="toolchain udev"
PKG_PRIORITY="optional"
PKG_SECTION="system/remote"
@ -34,3 +34,7 @@ PKG_LONGDESC="The eventlircd daemon provides four functions for LIRC devices"
PKG_IS_ADDON="no"
PKG_AUTORECONF="yes"
if [ "$DEVTOOLS" = "yes" ]; then
PKG_DEPENDS="$PKG_DEPENDS lirc"
fi

View File

@ -47,5 +47,3 @@ cd $PKG_BUILD
$DEBUG_CONFIG
make
$MAKEINSTALL -C tools

View File

@ -27,13 +27,12 @@ mkdir -p $INSTALL/usr/sbin
mkdir -p $INSTALL/etc/lirc
cp $PKG_BUILD/remotes/mceusb/lircd.conf.mceusb $INSTALL/etc/lirc/lircd.conf
# cp $PKG_BUILD/remotes/devinput/lircd.conf.devinput $INSTALL/etc/lirc
cp $PKG_BUILD/remotes/devinput/lircd.conf.devinput $INSTALL/etc/lirc
if [ "$DEVTOOLS" = yes ]; then
mkdir -p $INSTALL/usr/sbin
mkdir -p $INSTALL/usr/sbin
cp $PKG_BUILD/daemons/lircmd $INSTALL/usr/sbin # do we need this?
mkdir -p $INSTALL/usr/bin
mkdir -p $INSTALL/usr/bin
cp $PKG_BUILD/tools/ircat $INSTALL/usr/bin # do we need this?
cp $PKG_BUILD/tools/irexec $INSTALL/usr/bin # do we need this?
cp $PKG_BUILD/tools/irpty $INSTALL/usr/bin
@ -43,4 +42,3 @@ if [ "$DEVTOOLS" = yes ]; then
cp $PKG_BUILD/tools/mode2 $INSTALL/usr/bin
cp $PKG_BUILD/daemons/irrecord $INSTALL/usr/bin
cp $PKG_BUILD/tools/irsend $INSTALL/usr/bin # do we need this?
fi

View File

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="lirc"
PKG_VERSION="0.8.7"
PKG_VERSION="0.9.0"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -1,116 +0,0 @@
Index: lirc-0.8.7pre2/drivers/lirc.h
===================================================================
--- lirc-0.8.7pre2.orig/drivers/lirc.h
+++ lirc-0.8.7pre2/drivers/lirc.h
@@ -11,6 +11,9 @@
#define __USE_LINUX_IOCTL_DEFS
#include <sys/ioctl.h>
#endif
+#include <stdint.h>
+
+typedef uint32_t __u32;
/* <obsolete> */
#define PULSE_BIT 0x01000000
@@ -95,60 +96,60 @@ typedef int lirc_t;
/*** IOCTL commands for lirc driver ***/
-#define LIRC_GET_FEATURES _IOR('i', 0x00000000, unsigned long)
+#define LIRC_GET_FEATURES _IOR('i', 0x00000000, __u32)
-#define LIRC_GET_SEND_MODE _IOR('i', 0x00000001, unsigned long)
-#define LIRC_GET_REC_MODE _IOR('i', 0x00000002, unsigned long)
-#define LIRC_GET_SEND_CARRIER _IOR('i', 0x00000003, unsigned int)
-#define LIRC_GET_REC_CARRIER _IOR('i', 0x00000004, unsigned int)
-#define LIRC_GET_SEND_DUTY_CYCLE _IOR('i', 0x00000005, unsigned int)
-#define LIRC_GET_REC_DUTY_CYCLE _IOR('i', 0x00000006, unsigned int)
-#define LIRC_GET_REC_RESOLUTION _IOR('i', 0x00000007, unsigned int)
-
-#define LIRC_GET_MIN_TIMEOUT _IOR('i', 0x00000008, lirc_t)
-#define LIRC_GET_MAX_TIMEOUT _IOR('i', 0x00000009, lirc_t)
-
-#define LIRC_GET_MIN_FILTER_PULSE _IOR('i', 0x0000000a, lirc_t)
-#define LIRC_GET_MAX_FILTER_PULSE _IOR('i', 0x0000000b, lirc_t)
-#define LIRC_GET_MIN_FILTER_SPACE _IOR('i', 0x0000000c, lirc_t)
-#define LIRC_GET_MAX_FILTER_SPACE _IOR('i', 0x0000000d, lirc_t)
+#define LIRC_GET_SEND_MODE _IOR('i', 0x00000001, __u32)
+#define LIRC_GET_REC_MODE _IOR('i', 0x00000002, __u32)
+#define LIRC_GET_SEND_CARRIER _IOR('i', 0x00000003, __u32)
+#define LIRC_GET_REC_CARRIER _IOR('i', 0x00000004, __u32)
+#define LIRC_GET_SEND_DUTY_CYCLE _IOR('i', 0x00000005, __u32)
+#define LIRC_GET_REC_DUTY_CYCLE _IOR('i', 0x00000006, __u32)
+#define LIRC_GET_REC_RESOLUTION _IOR('i', 0x00000007, __u32)
+
+#define LIRC_GET_MIN_TIMEOUT _IOR('i', 0x00000008, __u32)
+#define LIRC_GET_MAX_TIMEOUT _IOR('i', 0x00000009, __u32)
+
+#define LIRC_GET_MIN_FILTER_PULSE _IOR('i', 0x0000000a, __u32)
+#define LIRC_GET_MAX_FILTER_PULSE _IOR('i', 0x0000000b, __u32)
+#define LIRC_GET_MIN_FILTER_SPACE _IOR('i', 0x0000000c, __u32)
+#define LIRC_GET_MAX_FILTER_SPACE _IOR('i', 0x0000000d, __u32)
/* code length in bits, currently only for LIRC_MODE_LIRCCODE */
-#define LIRC_GET_LENGTH _IOR('i', 0x0000000f, unsigned long)
+#define LIRC_GET_LENGTH _IOR('i', 0x0000000f, __u32)
/* all values set should be reset by the driver when the device is
reopened */
/* obsolete: drivers only support one mode */
-#define LIRC_SET_SEND_MODE _IOW('i', 0x00000011, unsigned long)
+#define LIRC_SET_SEND_MODE _IOW('i', 0x00000011, __u32)
/* obsolete: drivers only support one mode */
-#define LIRC_SET_REC_MODE _IOW('i', 0x00000012, unsigned long)
+#define LIRC_SET_REC_MODE _IOW('i', 0x00000012, __u32)
/* Note: these can reset the according pulse_width */
-#define LIRC_SET_SEND_CARRIER _IOW('i', 0x00000013, unsigned int)
-#define LIRC_SET_REC_CARRIER _IOW('i', 0x00000014, unsigned int)
-#define LIRC_SET_SEND_DUTY_CYCLE _IOW('i', 0x00000015, unsigned int)
-#define LIRC_SET_REC_DUTY_CYCLE _IOW('i', 0x00000016, unsigned int)
-#define LIRC_SET_TRANSMITTER_MASK _IOW('i', 0x00000017, unsigned int)
+#define LIRC_SET_SEND_CARRIER _IOW('i', 0x00000013, __u32)
+#define LIRC_SET_REC_CARRIER _IOW('i', 0x00000014, __u32)
+#define LIRC_SET_SEND_DUTY_CYCLE _IOW('i', 0x00000015, __u32)
+#define LIRC_SET_REC_DUTY_CYCLE _IOW('i', 0x00000016, __u32)
+#define LIRC_SET_TRANSMITTER_MASK _IOW('i', 0x00000017, __u32)
/* a value of 0 disables all hardware timeouts and data should be
reported as soon as possible */
-#define LIRC_SET_REC_TIMEOUT _IOW('i', 0x00000018, lirc_t)
+#define LIRC_SET_REC_TIMEOUT _IOW('i', 0x00000018, __u32)
/* 1 enables, 0 disables timeout reports in MODE2 */
-#define LIRC_SET_REC_TIMEOUT_REPORTS _IOW('i', 0x00000019, unsigned int)
+#define LIRC_SET_REC_TIMEOUT_REPORTS _IOW('i', 0x00000019, __u32)
/* pulses shorter than this are filtered out by hardware (software
emulation in lirc_dev/lircd?) */
-#define LIRC_SET_REC_FILTER_PULSE _IOW('i', 0x0000001a, lirc_t)
+#define LIRC_SET_REC_FILTER_PULSE _IOW('i', 0x0000001a, __u32)
/* spaces shorter than this are filtered out by hardware (software
emulation in lirc_dev/lircd?) */
-#define LIRC_SET_REC_FILTER_SPACE _IOW('i', 0x0000001b, lirc_t)
+#define LIRC_SET_REC_FILTER_SPACE _IOW('i', 0x0000001b, __u32)
/* if filter cannot be set independently for pulse/space, this should
be used */
-#define LIRC_SET_REC_FILTER _IOW('i', 0x0000001c, lirc_t)
+#define LIRC_SET_REC_FILTER _IOW('i', 0x0000001c, __u32)
/* if enabled from the next key press on the driver will send
LIRC_MODE2_FREQUENCY packets */
-#define LIRC_SET_MEASURE_CARRIER_MODE _IOW('i', 0x0000001d, unsigned int)
+#define LIRC_SET_MEASURE_CARRIER_MODE _IOW('i', 0x0000001d, __u32)
/*
* to set a range use
@@ -157,8 +158,8 @@ typedef int lirc_t;
* LIRC_SET_REC_DUTY_CYCLE/LIRC_SET_REC_CARRIER with the upper bound
*/
-#define LIRC_SET_REC_DUTY_CYCLE_RANGE _IOW('i', 0x0000001e, unsigned int)
-#define LIRC_SET_REC_CARRIER_RANGE _IOW('i', 0x0000001f, unsigned int)
+#define LIRC_SET_REC_DUTY_CYCLE_RANGE _IOW('i', 0x0000001e, __u32)
+#define LIRC_SET_REC_CARRIER_RANGE _IOW('i', 0x0000001f, __u32)
#define LIRC_NOTIFY_DECODE _IO('i', 0x00000020)

View File

@ -1,69 +0,0 @@
diff -Naur lirc-0.8.7-old/daemons/input_map.c lirc-0.8.7-new/daemons/input_map.c
--- lirc-0.8.7-old/daemons/input_map.c 2008-10-26 08:10:17.000000000 -0700
+++ lirc-0.8.7-new/daemons/input_map.c 2010-09-07 16:19:12.000000000 -0700
@@ -25,6 +25,21 @@
{NULL, 0}
};
+int get_input_code_by_index(int index, linux_input_code *code)
+{
+ int i;
+
+ for (i=0; input_map[i].name != NULL; i++)
+ {
+ if (i == index)
+ {
+ *code = input_map[i].code;
+ return i;
+ }
+ }
+ return -1;
+}
+
int get_input_code(const char *name, linux_input_code *code)
{
int i;
diff -Naur lirc-0.8.7-old/daemons/input_map.h lirc-0.8.7-new/daemons/input_map.h
--- lirc-0.8.7-old/daemons/input_map.h 2008-10-26 08:10:17.000000000 -0700
+++ lirc-0.8.7-new/daemons/input_map.h 2010-09-07 16:19:12.000000000 -0700
@@ -28,6 +28,7 @@
typedef unsigned short linux_input_code;
#endif
+int get_input_code_by_index(int index, linux_input_code *code);
int get_input_code(const char *name, linux_input_code *code);
void fprint_namespace(FILE *f);
int is_in_namespace(const char *name);
diff -Naur lirc-0.8.7-old/daemons/lircd.c lirc-0.8.7-new/daemons/lircd.c
--- lirc-0.8.7-old/daemons/lircd.c 2010-08-26 22:08:09.000000000 -0700
+++ lirc-0.8.7-new/daemons/lircd.c 2010-09-07 16:19:12.000000000 -0700
@@ -422,6 +422,8 @@
#if defined(__linux__)
int fd;
int key;
+ linux_input_code code;
+ int i;
struct uinput_user_dev dev;
fd = open("/dev/input/uinput", O_RDWR);
@@ -450,12 +452,16 @@
goto setup_error;
}
- for(key = KEY_RESERVED; key <= KEY_UNKNOWN; key++)
+ for(i = 0; get_input_code_by_index(i, &code) >= 0; i++)
{
- if(ioctl(fd, UI_SET_KEYBIT, key) != 0)
+ key = (int)code;
+ if ((key < BTN_MISC) || (key > BTN_GEAR_UP))
{
- goto setup_error;
- }
+ if(ioctl(fd, UI_SET_KEYBIT, key) != 0)
+ {
+ goto setup_error;
+ }
+ }
}
if(ioctl(fd, UI_DEV_CREATE) != 0)