I don't actually use this anymore. Instead I use Keyferret, which I wrote as a more intuitive and fully-featured solution. But you're welcome to use it if you find it useful!
On these pages you will find a freely downloadable Windows keyboard driver for people with UK keyboards. It massively increases the range of characters you can type, supporting most languages based on the Latin alphabet (i.e. ABC), without affecting normal typing. It only changes keystrokes using AltGr so if you install it in place of your normal keyboard layout you won't notice it's there until you want it.
It is of use to anyone with a UK keyboard who needs to type in languages other than English from time to time. It also fully supports IPA, many mediaeval characters, difficult languages such as Vietnamese, mathematical symbols, and can even be used to enter Greek and Russian characters! It achieves all of this using (hopefully intuitive) sequences of keystrokes to describe the character you need, with 1696 different keystroke sequences available.
This is made possible due to the large number of characters defined by Unicode. Support varies from system to system — this driver contains many characters that are not widely supported by fonts, although specialist fonts exist for certain applications.