To enter diacritics in Windows I would suggest [this keyboard layout](https://code.google.com/p/usialtgr/). Certainly, you can create a "layout of your dream" :) with [Microsoft Keyboard Layout Editor](http://msdn.microsoft.com/en-us/goglobal/bb964665.aspx). However it's a bit boring, so I'd stay with the first option (which essentially is the product of such a generator). With this layout you could enter lowercase diacritics with `<right-alt>+<base_letter>` and uppercase with `<right-alt>+<shift>+<base letter>`. I use this layout when I write Spanish (huh, ¡Español! :) or e.g. Ágil and found it the most conventient solution for Windows, especially when you need to do a lot of programmings, and thus have to enter "strings" or 'c'haracters all the time. In Linux which is my primary desktop OS, I use the following xkb settings: xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+us(altgr-intl)+ru(ruu):2+inet(evdev)+altwin(left_meta_win)+group(lctrl_lshift_toggle)+terminate(ctrl_alt_bksp)+keypad(pointerkeys)+level3(caps_switch)" }; xkb_geometry { include "pc(pc104)" }; }; This allows me to write English with all ' (quotes), " (double-quotes), and \` (backticks) as usual plus diacritics like á or ¡ by pressing `<CapsLock>+<base_letter>` (it's more convenient than `<alt>+<base_letter>`, because `<alt>+<letter>` are often used for shortcuts). Also I have a completely separate layout for Cyrillic (Russian + sometimes Ukrainian), turned on and off by left `<ctrl>+<shift>`