How Can You Force XBMC to use a system keymap as defined by loadkeys in Ubunto
#1
I have created a custom console keymap for a remote I have, which allows me to utilise the buttons XBMC does not recognize.

While the keymap works perfectly on the console, XBMC ignores the changes.

How can I get XBMC to utilise this?

Note this is not the keymap.xml configuration (I utilize this over the top of the system keymap I have crated)

My system keymap is loaded using the loadkeys keymap.in command line shortly after boot, and before XBMC starts
Reply
#2
you can't unless your OS keymap is set up to send exactly the keys Kodi uses in the default keymap.xml.
Reply
#3
Thanks for replying but that is what I have done.

Example I have a key mapped from the remote keyboard as 'i' which in keyboard.xml should bring up info.

If I press the key the console shows 'i'

XBMC log shows the unmodified key (Ctrl-alt-f3)
Reply
#4
Do don't you Helix, do you? It should work in Helix after we got rid of SDL for keyboard input.
Reply
#5
ahh I am actually using RaspBMC (ubuntu derivative)

What is Helix?

I have had some success with a bodge which is to use the keys defined as below:

PHP Code:
<keymap>
<global>
    <
keyboard>
        <
left>Left</left>
        <
right>Right</right>
        <
key id="61453">Select</key>
        <
key id="61654">ContextMenu</key>
        <
key id="61467">Back</key>
        <
key id="61576">XBMC.ActivateWindow(Home)</key>
        <
key id="389266">Info</key>
        <
key id="61568">Up</key>
        <
key id="61569">Down</key>
        <
key id="61517">Mute</key>
        <
key id="61520">Play</key>
        <
key id="61506">SkipPrevious</key>
        <
key id="61510">SkipNext</key>
        <
key id="61572">PageUp</key>
        <
key id="61573">PageDown</key>
        <
key id="61625">VolumeUp</key>
        <
key id="61597">VolumeDown</key>
        <
key id="323593">Fullscreen</key>
        <
key id="61662">Stop</key>
    </
keyboard>
</global>
</
keymap

I determined the key ID's by looking at the xbmc log lines:
PHP Code:
DEBUGOnKeynext_track (0xf0bapressedaction is 


However this does not work when XBMC reports an unknown key:
PHP Code:
DEBUGCLinuxInputDevice::KeyEventTranslateKey returned XBMCK_UNKNOWN from code(217

I guess a work around would be to identify that the key ID is for the unknown key? (Placing key ID=217 does not work, any idea's on how to achieve that?
Reply
#6
That's a different story with this platform. It get keyboard input directly from evdev. That is before your keymaps have influence. ir_keytable sits before this.
Reply
#7
ah OK, have you any idea then of how to convert the code (217) to something usable?
Reply
#8
I looked into this code. Unlike the code I wrote for X11 which passes the keysym if look-up fails, CLinuxInputDevice eats the key press in this case. Nothing you can do if the code is not changed.
Reply
#9
Hi,
I've got the same issue (reported to xbian forum: http://forum.xbian.org/thread-2566.html). Do you think we could expect a fix in future releases? Or is it intended to be a feature, not a bug?
Thank you
Reply

Logout Mark Read Team Forum Stats Members Help
How Can You Force XBMC to use a system keymap as defined by loadkeys in Ubunto0