… and is apparently loaded last and without error:
info <general>: Loading special://masterprofile/keymaps/cec.xml
info <general>: Loading special://profile/keymaps/cec.xml
Note, I’m only mapping the same key in two different ways to show what doesn’t work. Mapping either way exclusively also doesn’t work. By that I mean the debug log (and the action) for that button remain the same - no change from JumpSMS7 to Menu.
If that doesn’t do then install the Keymap editor and try with that. I don’t think you have the correct key id and Kodi’s log does not list entries correctly for CEC input. Also, the “menu” action brings up the side/slideout menu which I’m guessing isn’t what you’re actually looking for.
Hm, where is the qualitative difference? The XML declaration is almost certainly optional with any decent parser. And indeed, adding it didn’t improve things.
I don’t think you have the correct key id
For what exactly? I need to map specific buttons/keys to certain actions. Why did you choose 133 in your example?
and Kodi’s log does not list entries correctly for CEC input.
Well, in that case I’d be toast since I need a reliable way to determine with which ID the keys/buttons I’m interested in are being received by Kodi.
Also, regardless of how you define “correct”, if Kodi logs a key ID and I map that key ID in a keymap, shouldn’t it then invoke the mapped action when trigger that key again? Related to that: will a working keymap cause the HandleKey message in that log to show the overridden action instead of the default?
Wait, what if the key I want to override is already mapped in a default map outside the <global> section. I presume that’ll take precedence, right? So, in order to have my override working I’d have to first unmap the window-specific default mapping(s). Is there a way to query the effective (combined) mappings?
It works without the declaration but I’m not going to post a keymap in an improper form that logs an error that is is missing.
The log snippet you posted showed your button press triggering action “JumpSMS” which is only default keymapped to “7” and key id “133”. As CEC input normally only keymaps with a key id this seemed a pretty solid assumption.
Like I already posted, you can use Keymap Editor. When you program a key there it shows the correct id for that key… at least for most working keys.
The handlekey messages for CEC is usually incorrectly logged for what button is pressed and the handlekey number is not the same as the key id. The action will be correctly logged.
Did you actually try my keymap?
Window specific overrides but if your messing around with the number keys then this isn’t likely going to be an issue for you (at least from what I recall off the top of my head). If you wind up with this issue it you your choice to just dupe the mapping window specific or do a window specific mapping where you just use an empty tag to remove it from previous keymaps ie…
The mappings don’t have a method of quiring them as such. You could navigate and try it while in a ssh session where you ran something like… tail -f ~/.kodi/temp/kodi.log | grep "HandleKey"
and watch the output. Otherwise you would need to dig through the keymaps on Kodi’s Github and manually look for the parts relevant to what your doing.
You only need to do overrides for mapping of <keyboard>and it’s not so bad if you just bring the entire keymap in question into a text editor and delete all but the parts you need. You can just empty out the action and it will work the same way as the syntax I posted earlier (ie <key id="133"></key> works the same as <key id="133"/>)