There are some important gotchas with the other solutions posted here.
For one, symbol and text substitution entries only work in Cocoa apps. If you want a truly system-wide solution that works in all applications, this is not an option.
Also, apps like KeyRemap4MacBook are great, but relying on them means you have to keep the app running in the background all the time, which may not be what you want.
Custom keyboard layouts to the rescue
Luckily, remapping keys can be done in a way that will work for any type of application, and without any additional software!
Mac OS X has supported .keylayout
files since version 10.2 (Jaguar). You can create your own keyboard layout, or rather, tweak the default one you’re using right now. Simply remap a keyboard combination you never use (for me, there are plenty of those) to the ²
and ³
symbols, and that’s it.
In my custom QWERTY keyboard layout, I can simply press ⌥
+ ⇧
+ 2
to enter ²
, and ⌥
+ ⇧
+ 3
to enter ³
. (My custom AZERTY layout has these mappings, too.)
How to create a custom keyboard layout
To create new keyboard layouts or modify existing ones, I’d recommend Ukelele.app. It has an option to create a new keyboard layout based on the one that’s currently in use.
After you’ve created your custom layout, there’s no need for the application anymore — you certainly don’t need to keep it running in the background.
How to install a custom keyboard layout
- Copy the
.keylayout
file to the Keyboard Layouts
folder within ~/Library
(if you want to install it only for the current user) or /Library
(if you want to install the layout system-wide).
- Reboot (if you installed the layout system-wide), or log out and log in again (if you installed it for the current user only).
- Enable the new keyboard layout via System Preferences › Language & Text › Input Sources.
How to make a custom keyboard layout the system default
Optionally, you could make the custom keyboard layout the system default by running the Setup Assistant with root privileges. This way, it will be used for the login screen, and any new user accounts you create will default to this layout as well. Note that this can only be done for keyboard layouts in /Library/Keyboard Layouts
(i.e., layouts that have been installed system-wide).
sudo rm /var/db/.AppleSetupDone; sudo "/System/Library/CoreServices/Setup Assistant.app/Contents/MacOS/Setup Assistant"
You will have to create a new user account in order to complete the Setup Assistant — but don’t worry, you can delete the new account afterwards.
Adding a custom icon to the keyboard layout
OS X will use the following default icon for your custom keyboard layout:
This icon will show up in the preference pane, and in the “Input menu” in the menu bar.
To replace this with your own icon, create a 16×16px image, and save it in .icns
format in the same directory as the keyboard layout itself, using the same file name (only the extension differs). For example, my custom QWERTY layout is named qwerty.keylayout
, so if I wanted to use a custom icon, it’d have to be named qwerty.icns
.
Option/alt + ñ on the Spanish ISO layout, followed by a or o gives you ã and õ.
To make a custom layout, use Ukelele
http://scripts.sil.org/ukelele
PS If you are running 10.7, you can also get those characters by holding down the a and o keys until the Character Picker popup menu appears.
Best Answer
I had a similar issue but solved it in a different way.
I simply "modified" the keyboard layout to the level it suits my needs and uses.
If you press and hold a certain key example "a" a pop up will show me all options for it.
Here is how it works.
Find a file in
/System/Library/Input Methods/PressAndHold.app/Contents/Resources
that is your keyboard Keyboard-??.plist (in my case it is called Keyboard-de.plist (German keyboard)Copy that file to your Desktop (to modify it) since you can not modify the original file.
Open it (it will open in Text mode)
Find for example the "c" it looks like this (and I added the Portuguese ç)
now add any "c" accents you like to use (Open the Character Viewer and find it) and just drag it over to the text file.
Once done replace the original keyboard-??.plist file with yours.
Now you have a highly customized keyboard specific to your uses, and no need to remember some finger breaking key combination to get it.