[mythtv-users] lirc acting very bizarrely
Gabe Rubin
gaberubin at gmail.com
Thu Dec 1 08:39:16 UTC 2011
On Wed, Nov 30, 2011 at 6:57 PM, Gabe Rubin <gaberubin at gmail.com> wrote:
> On Wed, Nov 30, 2011 at 2:50 AM, Roald <roalda at gmail.com> wrote:
>>> On Mon, Nov 28, 2011 at 9:57 PM, Nick Rout <nick.rout at gmail.com> wrote:
>>>>> How do I get gnome to not use the remote? I don't even know how I set
>>>>> it up to use the remote in the first place. Also, I can't use irw
>>>>> anymore. When I run it, no output goes to the terminal when I hit
>>
>> I think that you might find some tips here:
>> http://www.lirc.org/html/devinput.html
>>
>> I used this to disable the inputs from a Speedlink SL 6399 remote so
>> that HAL wouldn't grab the devices. I also buttons on my remote
>> mapping to system volume controls and mute.
>
> This did not work for me. I created the following rule and saved it
> at /usr/share/hal/fdi/preprobe/20thirdparty/10-ignore-i2c-ir.fdi
> <?xml version="1.0" encoding="UTF-8"?>
> <deviceinfo version="0.2">
> <device>
> <match key="info.product" contains_ncase="i2c ir">
> <merge key="info.ignore" type="bool">true</merge>
> </match>
> </device>
> </deviceinfo>
>
>
> I used lshal and it gave me the expected output as detailed in that link:
> udi = '/org/freedesktop/Hal/devices/temp/135'
> info.ignore = true (bool)
> info.parent = '/org/freedesktop/Hal/devices/computer' (string)
> info.product = 'Ignored Device' (string)
> info.subsystem = 'input' (string)
> info.udi = '/org/freedesktop/Hal/devices/ignored-device' (string)
> input.device = '/dev/input/event7' (string)
> input.product = 'i2c IR (Hauppauge WinTV PVR-350' (string)
> linux.device_file = '/dev/input/event7' (string)
> linux.hotplug_type = 2 (0x2) (int)
> linux.subsystem = 'input' (string)
> linux.sysfs_path = '/sys/devices/virtual/rc/rc0/input7/event7' (string)
>
>
> Prior to doing that, this is the relevant output in lshal:
>
> udi = '/org/freedesktop/Hal/devices/computer_logicaldev_input_1'
> info.addons.singleton = {'hald-addon-input'} (string list)
> info.capabilities = {'input', 'input.keys', 'button'} (string list)
> info.category = 'input' (string)
> info.parent = '/org/freedesktop/Hal/devices/computer' (string)
> info.product = 'i2c IR (Hauppauge WinTV PVR-350' (string)
> info.subsystem = 'input' (string)
> info.udi = '/org/freedesktop/Hal/devices/computer_logicaldev_input_1'
> (string)
> input.device = '/dev/input/event3' (string)
> input.product = 'i2c IR (Hauppauge WinTV PVR-350' (string)
> input.x11_driver = 'evdev' (string)
> input.xkb.layout = 'us' (string)
> input.xkb.model = 'evdev' (string)
> input.xkb.rules = 'base' (string)
> input.xkb.variant = '' (string)
> linux.device_file = '/dev/input/event3' (string)
> linux.hotplug_type = 2 (0x2) (int)
> linux.subsystem = 'input' (string)
> linux.sysfs_path = '/sys/devices/virtual/rc/rc0/input3/event3' (string)
>
> I restarted the machine to make sure HAL and LIRC reloaded, and my
> remote is still behaves as it did before. I also see this in my xorg
> log:
> [ 884.390] (II) config/udev: Adding input device i2c IR (Hauppauge
> WinTV PVR-350 (/dev/input/event7)
> [ 884.390] (**) i2c IR (Hauppauge WinTV PVR-350: Applying InputClass
> "evdev keyboard catchall"
> [ 884.390] (**) i2c IR (Hauppauge WinTV PVR-350: Applying InputClass
> "system-setup-keyboard"
> [ 884.390] (II) Using input driver 'evdev' for 'i2c IR (Hauppauge
> WinTV PVR-350'
> [ 884.390] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
> [ 884.390] Option "XkbRules" "evdev"
> [ 884.390] Option "XkbModel" "pc105+inet"
> [ 884.390] Option "XkbLayout" "us"
> [ 884.390] Option "_source" "server/udev"
> [ 884.390] Option "name" "i2c IR (Hauppauge WinTV PVR-350"
> [ 884.390] Option "path" "/dev/input/event7"
> [ 884.390] Option "device" "/dev/input/event7"
> [ 884.390] Option "config_info"
> "udev:/sys/devices/virtual/rc/rc0/input7/event7"
> [ 884.390] Option "driver" "evdev"
> [ 884.390] Option "XkbOptions" "terminate:ctrl_alt_bksp,"
> [ 884.390] (**) i2c IR (Hauppauge WinTV PVR-350: always reports core events
> [ 884.390] (**) evdev: i2c IR (Hauppauge WinTV PVR-350: Device:
> "/dev/input/event7"
> [ 884.390] (--) evdev: i2c IR (Hauppauge WinTV PVR-350: Vendor 0 Product 0
> [ 884.390] (--) evdev: i2c IR (Hauppauge WinTV PVR-350: Found keys
> [ 884.390] (II) evdev: i2c IR (Hauppauge WinTV PVR-350: Configuring
> as keyboard
> [ 884.390] (**) Option "config_info"
> "udev:/sys/devices/virtual/rc/rc0/input7/event7"
> [ 884.390] (II) XINPUT: Adding extended input device "i2c IR
> (Hauppauge WinTV PVR-350" (type: KEYBOARD, id 9)
> [ 884.390] (**) Option "xkb_rules" "evdev"
> [ 884.390] (**) Option "xkb_model" "pc105+inet"
> [ 884.390] (**) Option "xkb_layout" "us"
> [ 884.390] (**) Option "xkb_options" "terminate:ctrl_alt_bksp,"
> [ 884.390] (II) XKB: Reusing cached keymap
>
>
> I have tried to modify the xorg.conf file to not have this happen by
> adding the following stanza:
> Section "InputClass"
> Identifier "Ignore remote IR"
> MatchProduct "i2c IR (Hauppauge WinTV PVR-350"
> MatchIsKeyboard "true"
> Option "Ignore" "true"
> EndSection
>
>
> When I do that, I get no functionality from the remote (i.e., the keys
> that did actually work for myth don't and the volume keys do nothing
> ... I get nothing from any key). I see this in my xorg log file:
> [ 1322.226] (II) config/udev: Adding input device i2c IR (Hauppauge
> WinTV PVR-350 (/dev/input/event7)
> [ 1322.226] (**) i2c IR (Hauppauge WinTV PVR-350: Ignoring device
> from InputClass "Ignore remote IR"
>
> In each of these cases, I get nothing in my terminal when I run irw
> and hit keys.
I now know what the issue is. When X starts up, no matter what I put
in the xorg.conf file, it treats my remote as if it is a keyboard and
the buttons have no relationship to any of my lirc config files. I
believe xinput is just taking the raw ir code and converting it to a
keyboard keystroke. However, once I have lirc properly configured,
lirc takes over the receiver and the buttons do not get interpreted as
a keyboard keystroke but get properly interpreted according the my
lirc config files.
However, here is why lirc is not properly starting up. Every time I
reboot, the lirc device changes which /dev/input/eventXX 9where XX is
a number) it is on. So each time I reboot, I have to edit the file
/etc/sysconfig/lirc to include the correct setting for
LIRC_DEVICE="/dev/input/event6" (where it happens to be event6 this
time) and then restart the lirc service.
Why is this happening? I mean, I can get it to work on reboots, but
this should be static. At least it always has been before.
More information about the mythtv-users
mailing list