XBMC 9.11 Annoyances
When I upgraded from XBMC 9.04.1 to 9.11 I discovered two major annoyances.
- The only method I have to access the playlist with my remote in “keyboard mode” was to select the playlist option from the on-screen menu in the Project Mayhem III skin, yet the new Confluence skin in 9.11 is missing the playlist option.
- The “Play” button on my remote control and media keyboard no longer enqueued content, they only worked to pause/resume playback.
Problem 1 was fixed easily.. I downloaded and installed the Project Mayhem III skin that was removed from XBMC in 9.11. I don’t understand why they did this. I can understand why they changed the default skin for something that looked better on HD outputs, but they shouldn’t have removed Project Mayhem III completely, it is such a better skin (in my opinion) and is definitely better for lower resolution displays.
Problem 2 was not so easy. In fact I would go so far as to say it was a right royal pain in the arse, completely killed the ease-of-use so much so that we stopped using it until I fixed it and still has no clear explanation for the cause.
In 9.04.1, pressing the Play/Pause button on the remote generates Action 79 (guilib/Key.h):
In 9.11, the same keypress in the same configuration generates Action 12:
In 9.04.1 (on Slackware), the keymap is specified in /usr/share/xbmc/system/Keymap.xml:
<global>
<keyboard>
...
<play_pause>Pause</play_pause>
...
</keyboard>
</global>
</keymap>
In 9.11 (on Slackware), the keymap is specified in /usr/share/xbmc/system/keymaps/keyboard.xml:
<global>
<keyboard>
...
<play_pause>Pause</play_pause>
...
</keyboard>
</global>
</keymap>
In both cases the keymap is mapping the Play/Pause button to the Pause action and there is no other definition in either set of keymaps to override the
Given the above, for both 9.04.1 and 9.11 the expected behaviour should be for the play_pause button to generate Action 12 (ACTION_PAUSE) and function only as a pause button and not play or enqueue content from a menu, just as it has been doing so far in 9.11. However, in 9.04.1 it hasn’t been doing this, it has been generating Action 79 (ACTION_PLAYER_PLAY) and therefore acting as a pause during playback, but as a play/enqueue button in menus.
For the life of me I can’t figure out why. Is it just a bug? Was it just not doing what it was supposed to in 9.04.1 and it was fixed for 9.11? If this is the case why would the chosen behaviour for play_pause be only pause? What is the purpose of Action 12? Surely you would never want a pause button if all it does is implement only one function that is already covered by Action 79?
Thankfully, there is a simple solution that makes it just work for the time being. What you need to do is remap the Play/Pause button from Pause to Play, i.e. from Action 12 to Action 79. You can do this by creating a keymap xml file in your home directory, but I choose to change it in the installation directory so that the change is made for all user accounts.
Edit /usr/share/xbmc/system/keymaps/keyboard.xml and change:
to
Having done this, 9.11 is works perfectly and as expected, pausing/resuming playback and also acting to enqueue highlighted menu items.
Recent Comments