Kodi Community Forum

Full Version: The "Ultimate" low button remote keymap
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
I'm trying to create the "ultimate" keymap for remotes with only the core buttons: direction (up, down, left, right), select, and back. For example, the Nvidia Shield TV remote, the Google/Asus Nexus Player remote, the Amazon Fire TV remote, or one of the many generic remotes that only have very basic "face" buttons.

This will just be something thrown up on the wiki and not any actual Kodi default, at least not in the near future (due to how most of these remotes are seen as keyboards, it makes it really hard to make a default that doesn't mess with actual keyboards, etc).


The point of this thread:
What kind of mappings are other people using? What additions do you find useful? What alternative mappings do you think would be good (we can have many different keymaps on the wiki)? What would you change from my example below? etc, etc, all that good stuff.


Here's what I've got so far:

Alternative keymaps for low button remotes (wiki)




v16 Jarvis defaults include:
  • [longpress-SELECT] (global) - Context menu
  • [longpress-SELECT] (Fullscreen video/music) - Play/Pause
  • [longpress-SELECT] (live TV/PVR) - OSD channel list
  • [longpress-BACK] (in most areas) - Home screen
  • [longpress-CONTEXT MENU] - Sidebar menu

This keymap adds:
  • If you don't have a dedicated playpause button, it flips the behavior for Jarvis so that:
    • [SELECT] - Play/pause
    • [longpress-SELECT] - OSD (on screen display)
  • Other Fullscreen video:
    • [BACK] - Stops the video
    • [longpress-BACK] - Toggles fullscreen (the default "BACK" behavior)
    • [longpress-LEFT] - Rewind
    • [longpress-RIGHT] - Fast forward
    • [longpress-UP] - SkipNext - Skips to next item in a playlist (or folder if "Play next automatically" is enabled)
    • [longpress-DOWN] - SkipPrevious - Skips to the previous item in a playlist (or folder if "Play next automatically" is enabled)
    • [longpress-UP] (If the OSD controls are visible) - codecinfo (wiki) overlay
  • Fullscreen music/visualisation:
    • [SELECT] - Play/pause
    • [longpress-SELECT] - OSD (on screen display)
    • longpress-BACK] - Stop
  • Slideshow:
    • [UP] - Zoom in
    • [DOWN] - Zoom out
    • [LEFT] - Previous picture
    • [RIGHT] - Next picture
    • [BACK] - Stop
    • [longpress-UP/DOWN/LEFT/RIGHT] - Pan when zoomed in
  • Virtual/on-screen keyboard:
    • [longpress-UP] - Shift
    • [longpress-DOWN] - Symbols
    • [longpress-LEFT] - Backspace
    • [longpress-RIGHT] - Spacebar
    • [longpress-SELECT] - Enter/Done
    • [BACK] - Exit/Cancel
    • [longpress-BACK] - Delete
  • Home screen:
    • [BACK] - Favorites menu
    • [longpress-BACK] - Shutdown menu
  • File manager (wiki):
    • [longpress-LEFT] or [longpress-RIGHT] will highlight an item, which is useful for when you want to select multiple items to copy/delete/etc.
Volume remote alternative:

I know already some people will want an alternative version that allows for volume up/down on FullscreenVideo, for remotes that lack volume control and without having to grab a second remote. How's this?

EDIT: see Alternative keymaps for low button remotes (wiki)

This does the same as the previous map, but adds:
  • Fullscreen video/music:
    • [UP] - Volume up
    • [DOWN] - Volume down
    • No longpress UP/DOWN actions to allow for key repeat
  • Live TV/radio:
    • [UP] - Volume up
    • [DOWN] - Volume down
    • No longpress UP/DOWN actions to allow for key repeat
    • [LEFT] - Channel down
    • [RIGHT] - Channel up
reserved
I personally like the back button to bring up the shutdown menu at the home screen. Especially on devices like the firetv that don't play nice if you forget to quit Kodi.... Tho iirc, this is addressed in Jarvis?
(2015-12-22, 16:16)imadunatic Wrote: [ -> ]I personally like the back button to bring up the shutdown menu at the home screen. Especially on devices like the firetv that don't play nice if you forget to quit Kodi.... Tho iirc, this is addressed in Jarvis?

Yeah, in v16 Jarvis, playback is halted when switching apps, so it shouldn't tie up the hardware video decoder.
This is my Version for the FireTV remote in use with openelec. Focus on Live TV.

long press back button - open shut down menu
rewind button - volume down
forward button - volume up
rewind button long press - mute
forward button long press - mute
long press play/pause - stop
home button - fullscreen
home button long press - start last pvr channel
burger button - info


[php]
<keymap>

<global>
<keyboard>
<key id="61637">volumeup</key>
<key id="61636">volumedown</key>
<key id="61637" mod="longpress">Mute</key>
<key id="61636" mod="longpress">Mute</key>

<browser_back mod="longpress">ActivateWindow(shutdownmenu)</browser_back>

<browser_home>Fullscreen</browser_home>
<browser_home mod="longpress">PlayPvrTV</browser_home>

<play_pause mod="longpress">Stop</play_pause>

<key id="61952">Info</key>
<key id="61952"mod="longpress">Stop</key>
</keyboard>
</global>

<FullscreenVideo>
<keyboard>
<browser_back mod="longpress">ActivateWindow(shutdownmenu)</browser_back>
</keyboard>
</FullscreenVideo>

</keymap>
(2015-12-23, 01:42)Ned Scott Wrote: [ -> ]Yeah, in v16 Jarvis, playback is halted when switching apps, so it shouldn't tie up the hardware video decoder.

Do you know if there is a way to allow stuff to keep playing if I switch apps? Sometimes I need to get into the firetv settings during playback and it nice not to have to restart play.
(2015-12-26, 20:27)smcfl23456 Wrote: [ -> ]
(2015-12-23, 01:42)Ned Scott Wrote: [ -> ]Yeah, in v16 Jarvis, playback is halted when switching apps, so it shouldn't tie up the hardware video decoder.

Do you know if there is a way to allow stuff to keep playing if I switch apps? Sometimes I need to get into the firetv settings during playback and it nice not to have to restart play.

I'm honestly not sure. You might want to make a new thread to ask this question in the Android sub-forum.
Isn't just a matter of replicating the functionality of the apple remote keymap? It's pretty much optimized for all the different views.
Indeed, it's very close. The Apple remote would actually send it's own different signal for longpress, so from a functional standpoint it already had longpress. There are some differences, such as the "back" button on an Apple remote is labeled as "menu", so longpress on back brings up the context menu. If there are any good new ideas for this keymap that are different from the Apple remote keymap, I'll probably send a PR to add them to the Apple remote by default.

Other than going through and getting more ideas from the Apple remote map, I also want to add some extra stuff for the other low-button remotes that have slightly more than 6 buttons, such as the Fire TV remote. I'm also curious about what other remotes have hit the market lately that I haven't seen that are also low in buttons. So hopefully this thread will collect some info for those situations as well.
Oh, and the Apple remote doesn't have longpress for up/down.
Alright, I knocked in a few more ideas from the Apple keymap for both versions. The no-volume version in this thread is contains the very same behavior from the Apple remote, plus some extras.
Ned:

Forgive my ignorance, but what specific file are you adding your key map codes to?

Also, just to clarify, are your key map codes only applicable to the the Shield remote, and not to the Shield controller?
Ned, this is great thanks!

Seeing as how it's so useful for the Shield and that doesn't have as filled out a Wiki as the AFTV, could you post this on the Shield wiki/in the forum thread for it? I've run in to a couple people I've shared this with already who had no idea it existed. If you use a Shield remote it is a massively useful base to work off of.
(2016-01-02, 13:25)jmalcolm001 Wrote: [ -> ]Ned:

Forgive my ignorance, but what specific file are you adding your key map codes to?

Also, just to clarify, are your key map codes only applicable to the the Shield remote, and not to the Shield controller?

It's easiest to make it a new keymap file. It can be called anything as long as it ends in .xml and is in the keymaps folder, in the userdata folder (wiki).

The gamepad should use a different map, because it is seen as a "joystick", while the remote is seen by the OS as a "keyboard".
Pages: 1 2 3