Making Colemak the default layout at the OS X login promptEdit
Via Ask Different:
$ cp /Library/Preferences/com.apple.HIToolbox.plist /tmp/
$ plutil -convert xml1 /tmp/com.apple.HIToolbox.plist
$ plutil -convert xml1 ~/Library/Preferences/com.apple.HIToolbox.plist
$ vim /tmp/com.apple.HIToolbox.plist
$ plutil -lint !$ # sanity check
$ sudo cp !$ /Library/Preferences/
After editing AppleCurrentKeyboardLayoutInputSourceID
, KeyboardLayout ID
and KeyboardLayout Name
(which you can get from the ~/Library/Preferences/
file which we coverted above), the result looks something like:
<?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>AppleCurrentKeyboardLayoutInputSourceID</key>
<string>com.apple.keylayout.Colemak</string>
<key>AppleDefaultAsciiInputSource</key>
<dict>
<key>InputSourceKind</key>
<string>Keyboard Layout</string>
<key>KeyboardLayout ID</key>
<integer>12825</integer>
<key>KeyboardLayout Name</key>
<string>Colemak</string>
</dict>
<key>AppleEnabledInputSources</key>
<array>
<dict>
<key>InputSourceKind</key>
<string>Keyboard Layout</string>
<key>KeyboardLayout ID</key>
<integer>12825</integer>
<key>KeyboardLayout Name</key>
<string>Colemak</string>
</dict>
<dict>
<key>InputSourceKind</key>
<string>Keyboard Layout</string>
<key>KeyboardLayout ID</key>
<integer>0</integer>
<key>KeyboardLayout Name</key>
<string>U.S.</string>
</dict>
</array>
</dict>
</plist>