Re: drop lircd!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Johannes Stezenbach <js@xxxxxxxxxxxxxx> writes:

> > Well, I had a look at the driver mentioned above.  How do you avoid
> > that the keyboard events end up in the console keyboard queue?  Seems
> > your driver does basically the same mine does.  Can the linux console
> > and/or input layer configured somehow to accept keyboard events from
> > some input devices only?
> 
> Well for 2.4 one just doesn't load keybdev (you lose if you have an USB
> keyboard). So far I haven't had a close look at 2.6, but I suspect the
> problem has not been addressed yet.

Seems with 2.6 you lose with any keyboard, not only USB ones ;)

It is possible to open /dev/input/event<n> and ask for exclusive
access via ioctl().  If you do that nobody else will see the events,
neither the linux console nor other applications which are reading
from the same device.

> Maybe one of the BUS_* types could be used to distinguish IR remote
> controls from other keyboards.

Thats another problem.  You get alot of info out of
/dev/input/event<x> (see below), so this likely isn't that hard to
find some reasonable heuristics and/or put stuff into a config menu
for the user to pick.

> But it's still unclear how one can configure the system to not put
> IR key events in the normal input queue.

I don't want to disable it completely.  It may be useful to have the
IR events in the linux console input queue.  Maybe it is even better
than the current way to handle it because it just works with every
application, not only the ones with lirc support added.  For example I
can browse teletext pages using mtt (or alevt) and control them using
the remote control.  Neither mtt not alevtd has lirc support ...
Moving the cursor in emacs works too :)

This being configureable would be best, i.e. say "this (group of)
input device(s) should send keyboard events to the linux console".
Maybe even per virtual console, like it can be done with framebuffer
devices.  I havn't found a way to do that through, I suspect it is
not implemented (yet?) :-/

  Gerd

==============================[ cut here ]==============================
eskarina root ~# ~kraxel/src/input/event 
/dev/input/event0
   bustype : BUS_I8042
   vendor  : 0x1
   product : 0x2
   version : 43778
   name    : "AT Set 2 keyboard"
   phys    : "isa0060/serio0/input0"
   bits ev : EV_SYN EV_KEY EV_LED EV_REP

/dev/input/event1
   bustype : BUS_ISA
   vendor  : 0x1f
   product : 0x1
   version : 256
   name    : "PC Speaker"
   phys    : "isa0061/input0"
   bits ev : EV_SYN EV_SND

/dev/input/event2
   bustype : BUS_USB
   vendor  : 0x3886
   product : 0x1
   version : 1
   name    : "GM-TEK USB Composite Device"
   phys    : "usb-0000:02:00.1-1/input0"
   uniq    : ""
   bits ev : EV_SYN EV_KEY EV_LED EV_REP

/dev/input/event3
   bustype : BUS_USB
   vendor  : 0x3886
   product : 0x1
   version : 1
   name    : "GM-TEK USB Composite Device"
   phys    : "usb-0000:02:00.1-1/input1"
   uniq    : ""
   bits ev : EV_SYN EV_KEY EV_REL

/dev/input/event4
   bustype : BUS_I2C
   vendor  : 0x0
   product : 0x0
   version : 0
   name    : "Hauppauge IR"
   phys    : "i2c-1/1-0018/input0"
   bits ev : EV_SYN EV_KEY EV_REP

open /dev/input/event5: No such device




[Index of Archives]     [Linux DVB]     [Video Disk Recorder]     [Asterisk]     [Photo]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Free Photo Albums]     [Fedora Users]     [Fedora Women]     [ALSA Users]     [ALSA Devel]     [Linux USB]

Powered by Linux