inputlirc: zeroconf LIRC daemon using Linux input event devices

View: New views
4 Messages — Rating Filter:   Alert me  

inputlirc: zeroconf LIRC daemon using Linux input event devices

by Guus Sliepen-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,

I have some remote controls that are handled by the USB HID driver and
the AT keyboard driver. These are hard to get working with LIRC. Even
though recent versions of LIRC can read /dev/input/eventX devices, you
still need to use irrecord to painstakingly create a suitable
configuration file. However, the kernel's input layer already assigns
appropriate symbolic names to multimedia keys. To make life easy, I have
written a small daemon that acts like a LIRC daemon, but only processes
/dev/input/eventX files and translates events directly to useful
symbolic names, without any further configuration necessary. I have
tested this with a few keyboards with multimedia keys, an USB remote
control dongle that acts like a HID, and another remote control that is
handled by the AT keyboard driver.

You can download the software from the following subversion repository:

http://svn.sliepen.eu.org/inputlirc/trunk/

You need to have /usr/include/linux/input.h present. To compile and run:

make
./inputlircd /dev/input/event*

All LIRC clients should work with inputlircd. Use irw or input-events
from the input-utils package to find out the names of the buttons, and
write your .lircrc accordingly.

Comments are welcome.

--
Met vriendelijke groet / with kind regards,
    Guus Sliepen <guus@...>


signature.asc (196 bytes) Download Attachment

Re: inputlirc: zeroconf LIRC daemon using Linux input event devices

by Christoph Bartelmus :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi!

Guus Sliepen "guus@..." wrote:
[...]
> appropriate symbolic names to multimedia keys. To make life easy, I have
> written a small daemon that acts like a LIRC daemon, but only processes
> /dev/input/eventX files and translates events directly to useful
> symbolic names, without any further configuration necessary. I have

Why don't we simply auto-generate a lircd.conf file. I have been  
wondering for a long time why the dev/input guys havn't submitted  
anything suitable yet.

Christoph


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642

RE: inputlirc: zeroconf LIRC daemon using Linux input event devices

by Buzz-8 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Christoph,
I don't know why this hasn't been done.   But then again, I don't know how
to do this either.... So maybe everyone else is in the same boat?

Suggestions on how it might be do-able?.... There is a ever-growning number
of USB dev/input compatible devices out there?

Ideas:
*  I expect you need to know what "keycodes" a particular dev/input device
is capable of emitting (since a 20button remote won't have a full AT 105 key
keyboard set of keycodes, let alone multimedia keys  - my keyboard has 17
"multimedia" keys),
* from there you just directly map those keys (in lircd.conf) that are
available to the same-named X keyboard event with irxevent?

Anyone care to comment?

Buzz.



> -----Original Message-----
> From: lirc-list-admin@...
> [mailto:lirc-list-admin@...] On Behalf Of
> Christoph Bartelmus
> Sent: Friday, 10 February 2006 7:38 AM
> To: lirc-list@...
> Subject: Re: inputlirc: zeroconf LIRC daemon using Linux
> input event devices
>
> Hi!
>
> Guus Sliepen "guus@..." wrote:
> [...]
> > appropriate symbolic names to multimedia keys. To make life easy, I
> > have written a small daemon that acts like a LIRC daemon, but only
> > processes /dev/input/eventX files and translates events directly to
> > useful symbolic names, without any further configuration
> necessary. I
> > have
>
> Why don't we simply auto-generate a lircd.conf file. I have
> been wondering for a long time why the dev/input guys havn't
> submitted anything suitable yet.
>
> Christoph
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc. Do you grep
> through log files for problems?  Stop!  Download the new AJAX
> search engine that makes searching your log files as easy as
> surfing the  web.  DOWNLOAD SPLUNK!
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&
> dat=121642
>




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642

Re: inputlirc: zeroconf LIRC daemon using Linux input event devices

by gphelan :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Guus Sliepen-2 wrote:
but only processes /dev/input/eventX files and translates events directly to useful symbolic names
Hello all - I also have a USB remote control that acts like a HID.
However, my problem is that it gets split into two separate event devices - /dev/input/event1 and /dev/input/event2.
All the remote keys map to KEY_* codes.
The keys (e.g. the numeric keys and up/down/left/right) from the first event device (1) have the same X key codes as their corresponding keys on the keyboard, so if I press a numeric key on the remote, X receives it the same as if I had pressed the key on the keyboard.
The keys for the second device have no effect, presumably because I have not configured X to be aware of them?

I wanted to use inputlircd to grab these event devices and pass their input to VDR.
user@host # ./inputlircd -gf /dev/input/event1 /dev/input/event2
The problem is that VDR will only pick up keys from event2. (X gets the event1 keys first?)

Does anyone know if it is possible to configure inputlirc to 'roll' two event devices into a single virtual device?

This is the relevant section from lsinput (input-utils):

/dev/input/event1
   bustype : BUS_USB
   vendor  : 0x766
   product : 0x204
   version : 1
   name    : "TopSeed Tech Corp. USB IR Combo "
   phys    : "usb-0000:00:07.2-2/input0"
   uniq    : ""
   bits ev : EV_SYN EV_KEY EV_LED EV_REP

/dev/input/event2
   bustype : BUS_USB
   vendor  : 0x766
   product : 0x204
   version : 1
   name    : "TopSeed Tech Corp. USB IR Combo "
   phys    : "usb-0000:00:07.2-2/input1"
   uniq    : ""
   bits ev : EV_SYN EV_KEY EV_REL EV_REP

And from cat /proc/bus/input/devices:

I: Bus=0003 Vendor=0766 Product=0204 Version=0001
N: Name="TopSeed Tech Corp. USB IR Combo Device "
P: Phys=usb-0000:00:07.2-2/input0
S: Sysfs=/class/input/input1
H: Handlers=kbd event1
B: EV=120003
B: KEY=10000 7 ff87207a c14057ff febeffdf ffefffff ffffffff fffffffe
B: LED=1f

I: Bus=0003 Vendor=0766 Product=0204 Version=0001
N: Name="TopSeed Tech Corp. USB IR Combo Device "
P: Phys=usb-0000:00:07.2-2/input1
S: Sysfs=/class/input/input2
H: Handlers=kbd mouse1 event2 ts1
B: EV=100007
B: KEY=42c03b2 20d0400 0 0 70000 4 18000 21f8 d001d006 9e0040 0 0 0
B: REL=103