Ukelele is a Unicode Keyboard Layout Editor for Mac OS X versions 10.2 and later. Ukelele aims to simplify keyboard layout editing by providing a graphical interface to .keylayout files, where the desired characters can simply be dragged onto keys as needed. In addition to simple assignment of single character codes to keys, Ukelele can assign multiple-character strings and can create “dead keys”, where a keystroke sets a new state that modifies the output of the following keystroke.

TLA-team: Useful utility to create custom Unicode keyboard layouts for  Mac OS X. Creates keyboard layout configuration files as used by Mac OS X, so once the layout files are created and installed, Mac OS X itself will handle the character input and Ukelele does not need to be running in order to use them.