IPA and More Keyboard
When I first got into linguistics, I decided I needed a keyboard that could support IPA¹. But I was studying Sanskrit, and switching to a completely different keyboard every time I wanted to add a dot below a character (the common Sanskrit transcription convention) was really annoying! Also, I hate the IPA character for a palatal nasal (ɲ), so I wanted to be able to use 'ñ' instead. And ... a thousand other tiny things, all requiring different keyboard layouts. Why wasn't there a keyboard that just let me type EVERYTHING?
Eventually, I designed my own. And that was fun enough that I expanded it. Over the last 15 years, I've been adding characters and streamlining it's use.
The current iteration is a monster. For an idea of what it can do:
this keyboard can type over 50 diacritics (accent marks)
it can rotate and flip any character that has a rotated/flipped Unicode counterpart, as well as replace them with smallcaps, superscript, and subscript versions
it can type most medieval ligatures and characters (though my research hasn't always been good enough to provide the most natural ways to do so)
it covers the whole IPA, of course, as well as historical symbols, extIPA, and uppercase forms when available
it can type any modern or historical click character available in Unicode (still waiting for Doke orthography support >:( )
it allows you to type Greek and Cyrillic characters (though it prioritizes IPA variants and isn't really streamlined for writing the language)
it allows you to transliterate Sanskrit, Ancient Egyptian, Chinese dialects, etc. that use discipline-specific characters/diacritics
it lets you add bars, tildes, slashes and curls to any character that has a matching Unicode counterpart
it can type most proofing and punctuation marks, modifier characters, as well as
alchemical, astrological, and gender/orientation symbols
and much more
For more detailed documentation on what this keyboard supports, and how to use it, here's the guide (PDF or Word Doc).
Here's the keyboard: IPAKeyboard dot kmp


















