I have made an Esperanto Keyboard mapping for Mac OS X.
Unsatisfied with other Esperanto keyboards I've tried, outdated download links, etc. I decided to make my own. It follows the US QWERTY keyboard mapping, except x key works as a dead key to enter Esperanto-specific characters.
You can download it here: https://mega.nz/#!tEBkATCS!XeQoehFlZqDj3zOoBGED-7_-DF0iAb9Ffjlp5Ii3rFE
How to use: The X key is a dead key. To type any of the Esperanto-only letters, simply press x followed by the english letter most closely resembling the Esperanto letter. For example, to type ĝ, type x, then type g. To type Ĝ, type x, then type G. If you want to type x or X, then just type x, then type x again or X.
How to install:
1)Open up a finder window, simultaneously press cmd+shift+g, and type or paste in ~/Library/Keyboard Layouts/
2) Unzip (or double click) esperanto_osx.bundle.zip
3) Drag and drop esperanto_osx.bundle to the finder window you opened in step one.
Some users may want to install the keyboard systemwide. To do this you will need administrator access. Move the .bundle file to /Library/Keyboard Layouts/ instead of ~/Library/Keyboard Layouts
4) Restart the computer. I didn't have to, but if you can't follow the next steps then try restarting.
5) Go to Settings, then Keyboard, and choose the Input Sources tab.
6) hit the + button in the lower left. Find Esperanto on the left of the window (or search for it), make sure Esperanto is selected in the right side of the new window, and press Add.
7) I suggest having "Show Input menu in the menu bar" checked. I've also set up option+space to select the previous input source.
Known problems: For some reason, I can't enter a space within text edit. I don't know if any other apps are affected by this problem. Please let me know if they are. I suspect this may be due to the app I used to create this keyboard layout being in beta. Once this issue (or any others) is resolved, I'll update the download link and let you guys know.
Planned changes: Ability to hold the English letter to choose the Esperanto letter (I think I'll have to replace the default US keyboard bundle to do this).