Posts: 2,145
Joined: Jul 2008
Reputation:
12
Keymapping is one of the few things that still seems to need raw XML editing to get working right. You have to enable debugging, look at the key/button codes correlate them to what command you want where.
Many games on all platforms (Windows, Mac, Linux, Xbox, Wii...) have a config menu with a list of game controls. "Move left. Move Right. Shoot. Jump."
You select what you want to do. Then it says "press the key you want to do this action" and it's mapped.
Maybe a section under System where it had all the possibilities of commands, you select it then hit any key on your LIRC remote, Xbox controller, keyboard, etc and it maps it, and saves the xml.
Posts: 4,997
Joined: May 2004
Reputation:
12
This is non-trivial in xbmc as different keys can have different actions depending on context. Not to mention the nearly unlimited input device possibilities and cross-platformness. Any suggestions (or patches!) of a way to implement this cleanly and intuitively would be appreciated.
Posts: 4,146
Joined: Jan 2008
Reputation:
40
+1 for a keymap editor. Thanks for volunteering ;p
Always read the
online manual (wiki),
FAQ (wiki) and search the forum before posting.
Do not PM or e-mail Team-Kodi members directly asking for support. Read/follow the
forum rules (wiki).
Please read the pages on
troubleshooting (wiki) and
bug reporting (wiki) before reporting issues.
Posts: 26,215
Joined: Oct 2003
Reputation:
187
IMO this points mainly to:
1. The flexibility of the keymapping system - it allows per-window mappings.
2. The ludicrousness of 1 in that you have to repeat a whole bunch of stuff all over keymap.xml. ***
3. The inflexibility of the keymapping system - it ONLY allows per-window mappings, where as in some situations a much finer level of control is required (consider the "Select" action on list items for instance - there's no way to define what it does for folders and files separately, thus the problem with songs playing on select rather than queueing on select).
While I think it'd be nice to be able to alter the keymap from the UI, I personally believe that more gains would be had by altering the way we do keymapping in general.
A good start would be the suggestions above - finding out what a user may wish to be able to change in terms of the keymap, and using that as a base for what the system needs to be able to support.
Cheers,
Jonathan
*** I can say this without offending anybody, given that I wrote the damn thing :p
Posts: 26,215
Joined: Oct 2003
Reputation:
187
Agreed - It's a nice interface. The translation to XBMC-land would be "Given we have _foo_ context, and _bar_ action, which button (if any) do you want to do that action?"
The key is finding the set from which _foo_ comes, and once done, the corresponding set from which _bar_ comes. The rest is mere details.
Hopefully this thread will yield a volunteer to define those sets. Off the top of my head we have for the _foo_ set:
1. Basic navigation (directional arrows, forward/backward through screens + dialogs) from any control.
2. Focus on a folder item in a list.
3. Focus on a file item in a list (may be able to combine with 2 in some way?)
4. Focused on an input control (edit control).
5. Playing music or video (while in the UI).
6. Playing music, video, slideshow (full screen).
Another question is when we have one or more context's that may apply, which one takes priority? Think about pressing "Play" while something is paused, while also focused on a playable item in a list. Ideally such situations wouldn't exist, but I'm not sure we can guarantee that.
Cheers,
Jonathan
Posts: 699
Joined: Sep 2004
Reputation:
0
Does the Keymap.xml contain sections of all available windows for which XBMC has the ability to assign keys to?
Posts: 12,706
Joined: Nov 2003
Reputation:
129
spiff
Team-Kodi Member
Posts: 12,706
the world will always invent a better fool.