You might be thinking that I can use a special keyboard layout or alt codes. However, they don't provide enough characters. Unicode alt codes in the other hand require knowing every single Unicode code.
I want a quick method of entering many special characters. I am thinking of something along the lines of using a keyboard shortcut to open a window like this:
The character set should be customizable.