Last active
January 24, 2025 21:08
-
-
Save verityj/f54e1467859596ef36a87e14cdce54b6 to your computer and use it in GitHub Desktop.
Remap Magic Keyboard Eject key to forward delete (and right option to forward delete as backup)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
<plist version="1.0"> | |
<dict> | |
<key>Label</key> | |
<string>com.local.keyremap</string> | |
<key>ProgramArguments</key> | |
<array> | |
<string>/usr/bin/hidutil</string> | |
<string>property</string> | |
<string>--set</string> | |
<string>{"UserKeyMapping":[ | |
{ | |
"HIDKeyboardModifierMappingSrc": 0xC000000B8, | |
"HIDKeyboardModifierMappingDst": 0x70000004C | |
}, | |
{ | |
"HIDKeyboardModifierMappingSrc": 0x7000000E6, | |
"HIDKeyboardModifierMappingDst": 0x70000004C | |
} | |
]}</string> | |
</array> | |
<key>RunAtLoad</key> | |
<true/> | |
</dict> | |
</plist> |
OMG thank you for this @verityj!
I've been wanting to do this for a while now and managed to get it partially working with Keyboard Maestro
(only when the Keyboard was wired.)
This gets it working both wired or via Bluetooth with no issues and makes it feel native!
Note: For anyone who wants to get this started without having to restart or log back in
launchctl load ~/Library/LaunchAgents/com.local.keyremap.plist
Thank you again! 💖
Glad it was helpful to you, @nishyp 😊
I wrote some notes on Eject and general remapping, surviving reboots, so I don't forget myself LOL https://verityj.github.io/2023/06/17/eject.html
This works beautifully to reassign others (like the F5 dictation key which I never use).
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Eject key is 0xC000000B8 and forward delete key is 0xC000000B8.
Place the
com.local.keyremap.plist
file inside~/Library/LaunchAgents/
. It will run on every user log in.