[mythtv-users] Calling all lirc gurus
Doug Scoular (dscoular)
dscoular at cisco.com
Sun Dec 23 03:15:41 UTC 2018
Hi All,
I just upgraded my mythbuntu system from 16.04.5 to 18.04 and it was impressively smooth.
However, I have two issues with my lirc setup, after reading a lot of misinformation about
removing lirc, I discovered that the lirc config files changed format radically and just needed
some manual rewriting.
I followed the instructions at lirc.org, as best I could, to update the appropriate files.
BTW I'm running version 0.10.0[1207] of lirc (the standard one that came with 18.04).
I now have a working remote (again) with these two annoyances:
1) After booting up the first key pressed on the remote repeats endlessly.
2) The KEY_SLEEP key on the remote is somehow causing the system to sleep.
Problem 1) is cured, temporarily, by hitting any key on the keyboard and after that the remote works
perfectly aside from problem 2).
Problem 2) In my 16.04.5 setup hitting KEY_SLEEP on my remote called the irexec
daemon which was configured to run a script using home-assistant. I don't
ever want the system to actually sleep. I want to use the remote's KEY_SLEEP key
to talk to irrexec. Any ideas what is causing the KEY_SLEEP to get past irexec?
Even after reading and googling every recent article as well as the explanations on the wiki;
I find myself just as confused as when I started.
I'm pretty sure my mceusb device is being treated as an IR remote rather than an actual keyboard
but maybe the remote's power key is special. I'm not sure. All I know is everything was perfect
under 16.04.5.
Also, when the looping problem occurs, I see spurious X events when I run xev. In this
example, of me pressing the up arrow key on the remote. The following loops over and
over. I don't understand why X is even seeing this the event should go to lirc and, then,
the application (mythfrontend):
KeyPress event, serial 37, synthetic NO, window 0x4400001,
root 0x1e1, subw 0x0, time 1321786, (89,64), root:(960,540),
state 0x0, keycode 111 (keysym 0xff52, Up), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
As soon as I hit a key on my Logitech K400 keyboard, the looping
immediately stops and I see the single space key event from the
keyboard:
KeyRelease event, serial 38, synthetic NO, window 0x4400001,
root 0x1e1, subw 0x0, time 1764624, (89,64), root:(960,540),
state 0x0, keycode 65 (keysym 0x20, space), same_screen YES,
XLookupString gives 1 bytes: (20) " "
XFilterEvent returns: False
Interestingly, from this point onwards xev sees no more remote key presses.
I had thought that since I've told lirc to use the devinput driver that no
key events from the remote should reach X. I thought they would be
the responsibility of lirc.
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech K400 id=10 [slave pointer (2)]
⎜ ↳ lircd-uinput id=11 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ C-Media Electronics Inc. USB PnP Sound Device id=8 [slave keyboard (3)]
↳ Media Center Ed. eHome Infrared Remote Transceiver (0471:060c) id=9 [slave keyboard (3)]
↳ Logitech K400 id=12 [slave keyboard (3)]
↳ lircd-uinput id=13 [slave keyboard (3)]
I've created a git repository containing my lirc config files just in case anyone
can help solve 1) the repeating problem and 2) how to disable the remote's
sending of KEY_SLEEP. I'll try to put as much detail up there as I can. Just ask
and I can upload more details:
https://github.com/dscoular/lirc-mythtv-woes
irw captures the remote key events as expected:
$ irw
0001006700000001 00 KEY_UP devinput-64
0001006c00000001 00 KEY_DOWN devinput-64
And ir-keytable looks like it is seeing the correct device:
$ ir-keytable
Found /sys/class/rc/rc0/ (/dev/input/event4) with:
Name: Media Center Ed. eHome Infrared Remote Transceiver (0471:060c)
Driver: mceusb, table: rc-rc6-mce
lirc device: /dev/lirc0
Supported protocols: lirc rc-5 rc-5-sz jvc sony nec sanyo mce_kbd rc-6 sharp xmp
Enabled protocols: lirc rc-5 rc-6
bus: 3, vendor/product: 0471:060c, version: 0x0101
Repeat delay = 500 ms, repeat period = 125 ms
Apologies for the long post...
Compliments of the Season,
Doug
--
“The big print giveth and the small print taketh away.”
More information about the mythtv-users
mailing list