[mythtv-users] Improving the remote control

Stephen Worthington stephen_agent at jsw.gen.nz
Thu Nov 7 11:28:30 UTC 2013


On Thu, 07 Nov 2013 15:36:43 +1100, you wrote:

>On 7/11/2013 2:49 PM, Mike Carron wrote:
>> I'm using an MCE remote control which has buttons to go directly to
>> RecordedTV, Videos and LiveTV to control my Mythfrontend. I've been trying
>> to find the proper codes to enable those buttons with no success. I've been
>> through the keymaps, wikis and forums looking for a solution and have come
>> up dry so far. Since these buttons, and other major function buttons, exist
>> on MCE remotes I have to believe a straightforward implementation exists.
>> Can someone point me in the right direction?
>>
>> Thanks,
>> mike
>>
>>
>Hi Mike,
>On your computer, is the mce remote receiver detected as an rc device?
>on a command line, run:
>ir-keytable
>and note the result. I've got a cheapy mce off ebay (a hp branded one, 
>not a fake usb-hid one like my first one) and I get:
>$ ir-keytable
>Found /sys/class/rc/rc0/ (/dev/input/event16) with:
>         Driver mceusb, table rc-rc6-mce
>         Supported protocols: NEC RC-5 RC-6 JVC SONY SANYO LIRC other
>         Enabled protocols: RC-6
>         Repeat delay = 500 ms, repeat period = 125 ms
>
>fwiw: I'm running Linux Mint 15 Olivia (GNU/Linux 3.8.0-32-generic x86_64)
>
>If you're in a similar boat, I'm using said utility to remap the keys to 
>more palatable keystrokes. The problem is most of the fancy buttons are 
>sending keystroke id's > 255 which X can't handle.
>I manually made my own keymap file with all the fancy buttons I wanted 
>set to keys X could recognise, then went through the mythtv keys editor 
>and set the functions to the buttons.
>
>Here's my file:
>cat /etc/rc_keymaps/rc6_mce_myth
># table rc6_mce, type: RC6
>0x800f0400 KEY_NUMERIC_0
>0x800f0401 KEY_NUMERIC_1
>0x800f0402 KEY_NUMERIC_2
>0x800f0403 KEY_NUMERIC_3
>0x800f0404 KEY_NUMERIC_4
>0x800f0405 KEY_NUMERIC_5
>0x800f0406 KEY_NUMERIC_6
>0x800f0407 KEY_NUMERIC_7
>0x800f0408 KEY_NUMERIC_8
>0x800f0409 KEY_NUMERIC_9
>0x800f040a KEY_DELETE
>0x800f040b KEY_ENTER
>0x800f040c KEY_ESC
>0x800f040d KEY_GRAVE
>0x800f040e KEY_MUTE
>0x800f040f KEY_M
>0x800f0410 KEY_RIGHTBRACE
>0x800f0411 KEY_LEFTBRACE
>0x800f0412 KEY_PAGEUP
>0x800f0413 KEY_PAGEDOWN
>0x800f0414 KEY_FASTFORWARD
>0x800f0415 KEY_REWIND
>0x800f0416 KEY_PAUSE
>0x800f0417 KEY_R
>0x800f0418 KEY_P
>0x800f046e KEY_P
>0x800f0419 KEY_STOP
>0x800f041a KEY_Z
>0x800f041b KEY_Q
>0x800f041c KEY_NUMERIC_POUND
>0x800f041d KEY_NUMERIC_STAR
>0x800f041e KEY_UP
>0x800f041f KEY_DOWN
>0x800f0420 KEY_LEFT
>0x800f0421 KEY_RIGHT
>0x800f0422 KEY_SPACE
>0x800f0423 KEY_EXIT
>0x800f0424 KEY_DVD
>0x800f0425 KEY_TUNER
>0x800f0426 KEY_EPG
>0x800f0427 KEY_ZOOM
>0x800f043a KEY_BRIGHTNESSUP
>0x800f0446 KEY_TV
>0x800f0447 KEY_AUDIO
>0x800f0448 KEY_S
>0x800f0449 KEY_CAMERA
>#0x800f044a KEY_VIDEO
>0x800f044a KEY_V
>0x800f044c KEY_LANGUAGE
>0x800f044d KEY_TITLE
>0x800f044e KEY_PRINT
>0x800f0450 KEY_RADIO
>0x800f045a KEY_SUBTITLE
>#0x800f045b KEY_RED
>0x800f045b KEY_F8
>0x800f045c KEY_GREEN
>0x800f045d KEY_YELLOW
>#0x800f045e KEY_BLUE
>0x800f045e KEY_F9
>0x800f0465 KEY_POWER2
>0x800f046e KEY_PLAYPAUSE
>0x800f046f KEY_MEDIA
>0x800f0480 KEY_BRIGHTNESSDOWN
>0x800f0481 KEY_PLAYPAUSE
>#end file
>
>Then in  /etc/init.d/rcS I added a line:
>chmod 777 /sys/class/rc/rc0/protocols
>
>This allows me to run ir-keytable as a regular user.
>
>Lastly in ~/.xinitrc I have the line
>ir-keytable -c -w /etc/rc_keymaps/rc6_mce_myth
>
>I found that if I had the ir-keytable line in the main startup script, 
>it got reset back to defaults when X started up, hance putting it in 
>.xinitrc
>There's probably a better way to get my map loaded as default rather 
>than manually assigning it. Perhaps even replacing the original 
>/lib/udev/rc_keymaps/rc6_mce would be enough, but I like to keep my 
>manual mods like this away from replacing original files like that. This 
>seems to be working pretty well for me.
>
>More info here: http://forum.xbmc.org/showthread.php?tid=114124 (I only 
>just found this, it's not neccesarily what I followed when I first did 
>this last year)
>
>Best of luck,
>Andrew

Once you have your remote's keycodes working correctly, there are also
two more steps needed.

You need to make sure that the keycodes your remote is producing are
mapped by lirc.  Look in your MythTV user's home directory for the
~/.lirc/mythtv file (for Mythbuntu).  In there, the keycodes are
mapped to the keystrokes sent to mythfrontend.  The keycode must match
the keycode produced from the ir-keytables setup, and the keystrokes
sent to mythfrontend have to match those in its Setup pages.

Then, in mythfrontend, go to Setup > Edit Keys > JumpPoints and assign
the jump points you want to have working to have a key combination
that works from the keyboard.  When I did this, there were not any
values assigned by default to the JumpPoints.  As an example, I have
assigned LiveTV to Ctrl+Alt+T.  Test that with your keyboard to make
sure it works.  Then in your lirc setup in ~/.lirc/mythtv add or edit
the setup so that the keycode produced by the remote's LiveTV button
is mapped to Ctrl+Alt+T.  In my case, this is what I have:

begin
    remote = mceusb
    prog = mythtv
    button = LiveTV
    config = Ctrl+Alt+T
    repeat = 0
    delay = 0
end

Also, go through the settings in that file and put in non-zero
settings for repeat and delay on the keys you want to have
autorepeating, such as the arrow and PgUp and PgDn keys.  Then test
and adjust those settings.

Remember to restart lirc every time you edit its config files.


More information about the mythtv-users mailing list