Override and restore the normal functionality of Apple keyboard media keys in VLC

ituneskeyboardvlc

We're all used to the media keys in the top row of an Apple keyboard to command iTunes, even when some other application is frontmost.

If I have VLC frontmost, those media keys don't control iTunes but work as "next / previous" in VLC, which is a rather annoying exception because not does it only make iTunes controlling unreachable, it's plain unnecessary because to navigate within the frontmost application, the norm is to use arrow keys, or cmd+arrow.
How do I reserve the good old media keys for iTunes, always?

I'm on Yosemite.

Best Answer

You can use Karabiner-Elements to set the play/pause button (on my keyboard fn+F8) to always control iTunes from any App (I know Apps besides just VLC also commandeer the iTunes buttons sometimes).

Just add something like the following rule to ~/.config/karabiner/karabiner.json

{  
   "description": "Play/pause button should only control iTunes.",
   "manipulators": [  
      {  
         "from": {  
            "key_code": "f7",
            "modifiers": {  
               "mandatory": [  
                  "fn"
               ]
            }
         },
         "to": [  
            {  
               "shell_command": "osascript -e 'tell application "iTunes" to previous track'"
            }
         ],
         "type": "basic"
      },
      {  
         "from": {  
            "key_code": "f8",
            "modifiers": {  
               "mandatory": [  
                  "fn"
               ]
            }
         },
         "to": [  
            {  
               "shell_command": "osascript -e 'tell application "iTunes" to playpause'"
            }
         ],
         "type": "basic"
      },
      {  
         "from": {  
            "key_code": "f9",
            "modifiers": {  
               "mandatory": [  
                  "fn"
               ]
            }
         },
         "to": [  
            {  
               "shell_command": "osascript -e 'tell application "iTunes" to next track'"
            }
         ],
         "type": "basic"
      }
   ]
}

Get rid of the "modifiers" part if you normally press F8 without pressing fn to play/pause iTunes.

Then in Karabiner-Elements you'd add your new rule as a complex modification:

enter image description here