Updated 28-Jun-2024
Well, it turns out, there is no such thing, per se, as an IPA Keyboard Layout, at least not in the sense that there are keyboard layouts for various languages and layout styles (e.g., English, Dvorak, etc.). This seems to me to be a tremendous oversight, though it obviously came about because someone thought supporting the entire Unicode space for the IPA was a great idea, and the only idea.
There are two things needed to have an IPA Keyboard Layout that would be functional for someone working in one or a few select languages:
- A Keyboard Layout File, such as discussed here for X11 support (Linux)
- One or more fonts that provide the support needed -- which includes a wide variety of unicode symbols plus the specific ipa unicode extension block. And preferrably fonts with multi-lingual support so that a mixture of IPA and one or more languages would by typographically elegant, or at least not jarringly unaesthetic.
IPA Character Support for a Given Language
The first step is to get a useful/functional/popular mapping of a language to IPA characters. For a language with diverse dialects, some standard form needs to be determined.
Along with this is the likelihood of supporting two languages. For example, if the target language is Thai, the supporting/documenting language is likely English or another foreign language. Both Thai and English IPA character spaces need to be determined, and together they should map out the shared space, in a Venn-like diagram.
Determine Key Mapping Desired for Charcter Space
A simplistic approach would be taking the 26 characters in English and mapping those keys (lowercase and uppercase) to obvious matches, and expanding into punctuation keys as needed. Requirements for dead keys and multi-keystrokes in general might be avoidable.
The main approach should be to reuse as much of the current set of wheels available rather than re-inventing one's own.
Build Keycap File and Print Keycaps
It seems straightforward to have keycaps that would support two languages and IPA. This would provide a nice intermediary, additional script which could support both of the other two languages. For some languages which maintain a large portion of the alphabetic character space in English, a third (fourth) script might be able to be acommodated, such as: English, IPA, Thai, and Vietnamese; perhaps even English, Indonesia, IPA, Thai, and Vietnamese.