I would like to have some way to specify that when I am focused on Spotify.app and I press the j key that it will translate into a ↓ key and be sent to the app. I would like this because I like vim style navigation but Spotify does not support remapping keyboard shortcuts.
How to map keyboard keys to other keyboard keys in an app specific manner
keybindingskeyboard
Best Answer
@iGameRam's suggestion of KeyRemap4MacBook ended up working for me. I selected KeyRemap4MacBook because I am already using it to remap keys for me system wide. To do this I had to read the reference manual.
From the reference manual I found that there is a
private.xml
file that enables me to add more remapping values to KeyRemap4MacBook. By going to the KeyRemap4MacBook pref pane, going to the "Misc & Uninstall" tab and selecting "Open private.xml" I was able to open the file.I had to add two elements to my
private.xml
. The first was:This is because KeyRemap4MacBook does not ship with an app definition for Spotify. It does ship with many others. I need the app definition so my keyboard keybindings only apply for Spotify and are not system wide.
The second element I added was:
This is the actual definition of the key bindings. The
<identifier>
tag is supposed to be unique for every key mapping. The manual suggests prefixing the identifier withprivate.
. The<only>
tag has to match an appname defined in theprivate.xml
or shipped with KeyRemap4MacBook.The
<autogen>
tags are supposed to contain the mappings. The manual has many examples on what kind of mappings that can be created. The two I have map the J and K keys to the Down and Up keys respectively.Once the file has been saved, I just needed to press the "ReloadXML" button and then my mapping appeared as an option in the menu.
After selecting it everything worked as I wanted.