Gladly, Matteo Italia has written a short python script to convert the DBUS events into MPRIS2 events.
http://pastebin.com/N0Jv2W5Y
Start the script on login and media keys work! Thanks Matteo
#!/usr/bin/env python
'''Created on 30.05.2012
@author: Matteo Italia <mi_1@mitalia.net>'''
import dbusimport dbus.mainloop.glibimport gobject
app_name = 'mmkeys-mate2mpris2'Version=0.1
MediaKeysObjName = 'org.mate.SettingsDaemon'MediaKeysObjectPath = '/org/mate/SettingsDaemon/MediaKeys'MediaKeysInterface = 'org.mate.SettingsDaemon.MediaKeys'
MPRIS2Prefix = 'org.mpris.MediaPlayer2'
ActionMappings = {        'Play': 'PlayPause',        'Pause': 'Pause',        'Stop': 'Stop',        'Next': 'Next',        'Previous': 'Previous'}
def onMediaKeyPress(app_name, action):    sb = dbus.SessionBus()    # Get the compatible players    players = [n for n in sb.list_names() if n.startswith(MPRIS2Prefix + ".") ]
    # Send them the command    for n in players:        # TODO: it doesn't make sense to perform the action on *all* the players!        # find a sensible criterion to choose the "best one"        sb.get_object(n, '/org/mpris/MediaPlayer2').__getattr__(ActionMappings[action])()
if __name__ == '__main__':
    # DBUS boilerplate    dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)    sb = dbus.SessionBus()
    # Get the media keys notificator object    mediaKeysObj = sb.get_object(MediaKeysObjName, MediaKeysObjectPath)
    # Register to receive media keys notifications    mediaKeysObj.GrabMediaPlayerKeys(app_name, 0, dbus_interface=MediaKeysInterface)    mediaKeysObj.connect_to_signal('MediaPlayerKeyPressed', onMediaKeyPress)
    # Start the main loop    mainLoop = gobject.MainLoop()    mainLoop.run()
 
I get an error
ReplyDeleteDBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "Next" with signature "" on interface "(null)" doesn't exist
Do you perhaps understand it?
Maybe it was a cut-n-paste error from this web-page? Try getting the text directly from the pastebin link?
Delete