[WIP] Remapping Keys in macOS: right [meta] key swap with right [alt] key
5/8/2021
One-minute read
UPDATE:
https://rakhesh.com/mac/using-hidutil-to-map-macos-keyboard-keys/
https://hidutil-generator.netlify.app/
Apple table of mappings:
- Keyboard Left Alt = 0xE2
- Keyboard Left GUI = 0xE3
How to test it:
hidutil property --set '{"UserKeyMapping": [{"HIDKeyboardModifierMappingSrc":0x7000000e2, "HIDKeyboardModifierMappingDst":0x7000000e3}, {"HIDKeyboardModifierMappingSrc":0x7000000e3, "HIDKeyboardModifierMappingDst":0x7000000e2}] }'
How to rollback it:
hidutil property --set '{"UserKeyMapping": [{"HIDKeyboardModifierMappingSrc":0x7000000e2, "HIDKeyboardModifierMappingDst":0x7000000e2}, {"HIDKeyboardModifierMappingSrc":0x7000000e3, "HIDKeyboardModifierMappingDst":0x7000000e3}] }'
Make it permanent:
nano /Users/fran/Library/LaunchAgents/franferri.io.winkeyboard.plist
<?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>EnvironmentVariables</key>
<dict>
<key>PATH</key>
<string>/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/usr/local/sbin</string>
</dict>
<key>Label</key>
<string>winkeyboard</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/hidutil</string>
<string>property</string>
<string>--set</string>
<string>{"UserKeyMapping":
[{"HIDKeyboardModifierMappingSrc":0x7000000e2,
"HIDKeyboardModifierMappingDst":0x7000000e3},
{"HIDKeyboardModifierMappingSrc":0x7000000e3,
"HIDKeyboardModifierMappingDst":0x7000000e2}]
}</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>