Mac OSX Keyboard Layouts

[Updated December, 2014]

In addition to the many keyboard layouts available with Mac OS X, custom keyboard layouts can easily be created and installed.

Mac OS X provides for a large number of default keyboard layouts and alphabets in the stock operating system. In addition to these existing keyboard layouts, the author wanted to take an existing keyboard layout (Ukrainian) and modify it to his own preferences.

Using Ukelele

Custom keyboard layouts are stored in ~/Library/Keyboard Layouts/ for individual users or in /Library/Keyboard Layouts/ for system-wide availability. Keyboard layouts are saved as XML files with .keylayout appended to the filename. Ukelele saves the correct file format but an appropriate location for your keyboard layout files must be indicated.

Ukelele presents a simple layout for modifying the keyboard layout. The author used Ukelele along with Keyboard Viewer to select and place keys in his preferred locations. Keyboard Viewer is a built-in Mac OS X utility that’s available from the Input Menu (see Language and Region options in the System Preferences). The author only modified the lower-case, shift, and caps-lock sets of keyboard layouts. To modify a key in Ukelele, use the Ukelele interface to select and double-click the key you’d like to change. A window will then prompt you for the character or combination of characters you’d like to assign to the selected key.

The following show the author’s keyboard layouts as they appeared in the Ukelele interface.

No modifier keys.
With shift key.
With shift-lock key.
With option key.
With control key.

Creating Icon Sets

Mac OS X provides a default icon for your custom keyboard layouts. You can override this default icon by placing an icon set with the same filename, but with the extension .icns, into the same folder as your custom keyboard layouts.

Special software is required for creating custom icons sets. The author used Icon Composer which is available as part of the XCode developer kit from Apple. After creating a GIF or PNG, the graphic was dropped into the Icon Composer interface to generate appropriate icon sets.


The keyboard layouts files and icon set are available for download from GitHub.

Once downloaded, the files must be placed in the folders mentioned earlier and they will become available from the Mac Input Menu after a user logs back in.

The existing Ukrainian keyboard layout was modified to create one that phonetically mimics the QWERTY keyboard. The author doesn’t customarily type in Ukrainian, so this keyboard layout was found to be much easier to use.

Additional Resources

See this page at