Last active
October 18, 2024 02:20
-
-
Save Socialdarwinist/5f125d14d293355c119fd0f750636458 to your computer and use it in GitHub Desktop.
International Phonetic Alphabet keyboard layout for XKB filled with other characters that are useful for transcribing, transliterating
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
default partial alphanumeric_keys | |
xkb_symbols "ipa" { | |
name[Group1]="International Phonetic Alphabet"; // also serves extIPA and orientalistic conversions | |
key.type[Group1]="EIGHT_LEVEL"; | |
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\ | |
key <TLDE> {[ grave, asciitilde, minutes, seconds, U2053, NoSymbol, U2015, asciicircum ]}; // ` ~ ′ ″ SwungDash QuotDash ^ | |
key <AE01> {[ 1, exclam, onesuperior, exclamdown, U02E5, U030B, NoSymbol, NoSymbol ]}; // 1 ! ¹ ¡ ˥ ̋◌┎────┒ | |
key <AE02> {[ 2, quotedbl, twosuperior, oneeighth, U02E6, U0301, U25CB, U20DD ]}; // 2 " ² ⅛ ˦ ́◌┃○ ⃝ ┃ | |
key <AE03> {[ 3, section, threesuperior, sterling, U02E7, U0304, NoSymbol, U0348 ]}; // 3 § ³ £ ˧ ̄◌┖─┒◌͆ ┃ | |
key <AE04> {[ 4, dollar, onequarter, currency, U02E8, U0300, NoSymbol, U032A ]}; // 4 $ ¼ ¤ ˨ ̀◌ ┃̪◌ ┃ | |
key <AE05> {[ 5, percent, U0331, threeeighths, U02E9, U030F, NoSymbol, U0347 ]}; // 5 % ̱◌ ⅜ ˩ ̏◌ ┃◌͇ ┃ | |
key <AE06> {[ 6, ampersand, U032E, fiveeighths, U0323, U0311, NoSymbol, U02EC ]}; // 6 & ̮◌ ⅝ ̣◌ ̑◌ ┃ˬ ┃ | |
key <AE07> {[ 7, slash, braceleft, seveneighths, U0307, U0313, NoSymbol, U02ED ]}; // 7 / { ⅞ ̇◌ ̓◌ ┃˭ ┃ Disordered | |
key <AE08> {[ 8, parenleft, bracketleft, U2E28, U27E8, U032D, U27EA, U0354 ]}; // 8 ( [ ⸨ ⟨ ̭◌ ⟪┃◌͔┃ Speech | |
key <AE09> {[ 9, parenright, bracketright, U2E29, U27E9, NoSymbol, U27EB, U0355 ]}; // 9 ) ] ⸩ ⟩ ⟫┃◌͕┃ | |
key <AE10> {[ 0, equal, braceright, degree, U02BE, notequal, U2248, U034E ]}; // 0 = } ° ʾ ≠ ≈┃◌͎ ┃ | |
// ┃ ┃ | |
key <AE11> {[ U0294, question, backslash, questiondown, U0295, U02A1, U02A2, U0362 ]}; // ʔ ? \ ¿ ʕ ʡ ʢ┃◌͢◌┃ | |
// ┎───┚ ┃ | |
key <AE12> {[ U2197, U2198, UA71C, UA71B, U02BF, asterisk, U2193, U2191 ]}; // ↗ ↘ ꜜ ꜛ ʿ┃* ↓ ↑ ┃ | |
//─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────//──────────┸──────┸───────────────\\ | |
key <AD01> {[ q, U025C, at, Greek_OMEGA, U02DE, NoSymbol, U20BD, Q ]}; // q ɜ @ Ω ˞ ₽ Q | |
key <AD02> {[ w, U028D, U0270, NoSymbol, U026F, NoSymbol, U031D, W ]}; // w ʍ ɰ ɯ ̝◌ W | |
key <AD03> {[ e, schwa, U025B, U025C, U0258, NoSymbol, EuroSign, E ]}; // e ə ɛ ɜ ɘ € E | |
key <AD04> {[ r, U027E, U0281, U0280, U0279, U027B, U027D, R ]}; // r ɾ ʁ ʀ ɹ ɻ ɽ R | |
key <AD05> {[ t,Greek_theta, U0288, NoSymbol, U01C0, U01C1, U01C2, T ]}; // t θ ʈ ǀ ǁ ǂ T | |
key <AD06> {[ z, U0292, U0291, U0293, U0290, U026E, U261C, Z ]}; // z ʒ ʑ ʓ ʐ ɮ ☜ Z | |
key <AD07> {[ u, U028A, U0289, U028C, U025E, U02AA, U261D, U ]}; // u ʊ ʉ ʌ ɞ ʪ ☝ U | |
key <AD08> {[ i, U026A, U0268, U0264, U0275, U02AB, U261F, I ]}; // i ɪ ɨ ɤ ɵ ʫ ☟ I | |
key <AD09> {[ o, U0254, oslash, oe, U032A, U025E, U261E, O ]}; // o ɔ ø œ ̪◌ ɞ ☞ O | |
key <AD10> {[ p, U0303, U031F, U2038, U033A, NoSymbol, U1D513, P ]}; // p ̃◌ ̟◌ ‸ ̻̺◌ 𝔓 P | |
// ┎─┒ | |
key <AD11> {[ U02E4, U0330, U0308, U033D, U033B, U02C0, U02C1, U02AC ]}; // ˤ ̰◌ ̈◌ ̽◌ ̻◌ ˀ ˁ┃ʬ┃ | |
key <AD12> {[ U02D0, U02D1, U0320, U0304, U033C, NoSymbol, NoSymbol, U02AD ]}; // ː ˑ ̠◌ ̄◌ ̼◌ ┃ʭ┃ | |
//─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────//──────────────┸─┸────────────────\\ | |
key <AC01> {[ a, U0251, ae, U0252, U0250, U0276, U031E, A ]}; // a ɑ æ ɒ ɐ ɶ ̞◌ A | |
key <AC02> {[ s, U0283, NoSymbol, U0286, U0282, U031C, U0318, S ]}; // s ʃ ʆ ʂ ̜◌ ̘◌ S | |
key <AC03> {[ d, eth, U0256, U0257, U1D91, U0339, U0319, D ]}; // d ð ɖ ɗ ᶑ ̹◌ ̙◌ D | |
// ┎─┒ | |
key <AC04> {[ f, U0278, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U02A9, F ]}; // f ɸ ┃ʩ┃F | |
// ┖─┚ | |
key <AC05> {[ g, U0263, U0262, U0260, U029B, U0261, U20B8, G ]}; // g ɣ ɢ ɠ ʛ ɡ ₸ G | |
key <AC06> {[ h, U0266, U0267, U029C, hstroke, NoSymbol, U20B4, H ]}; // h ɦ ɧ ʜ ħ ₴ H | |
key <AC07> {[ j, U029D, U025F, U0284, NoSymbol, NoSymbol, NoSymbol, J ]}; // j ʝ ɟ ʄ J | |
key <AC08> {[ k, U02B0, U02B1, U029E, NoSymbol, UA78E, U2113, K ]}; // k ʰ ʱ ʞ ꞎ ℓ K | |
key <AC09> {[ l, U028E, U026B, U026C, U029F, U026D, U027A, L ]}; // l ʎ ɫ ɬ ʟ ɭ ɺ L | |
// ┎────┒ | |
key <AC10> {[ U02B2, U02B7, U02E0, U02B8, U207F, U02E1, U034C, U034D ]}; // ʲ ʷ ˠ ʸ ⁿ ˡ┃◌͌ ◌͍ ┃ Disordered | |
key <AC11> {[ U032F, U0325, U032C, U030C, U031A, U0327, U034B, U0348 ]}; // ̯◌ ̥◌ ̬◌ ̌◌◌̚ ̧◌┃◌͋ ◌͈ ┃ Speech | |
key <BKSL> {[ U0329, U02C8, U02CC, U0306, U02BC, U0328, U034A, U0349 ]}; // ̩◌ ˈ ˌ ̆◌ ʼ ̨◌┃◌͊ ◌͉┃ | |
//─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────//────────────┸────┸───────────────\\ | |
key <LSGT> {[ bar, U2016, U203F, U035C, U0361, NoSymbol, NoSymbol, NoSymbol ]}; // | ‖ ‿ ◌͜◌ ◌͡◌ | |
key <AB01> {[ y, U028F, guillemotright, U203A, U0265, NoSymbol, U0287, Y ]}; // y ʏ » › ɥ ʇ Y | |
key <AB02> {[ x, Greek_chi, guillemotleft, U2039, UA725, UA724, U0297, X ]}; // x χ « ‹ ꜥ Ꜥ ʗ X | |
key <AB03> {[ c, ccedilla, U0255, U023C, UA723, UA722, U0296, C ]}; // c ç ɕ ȼ ꜣ Ꜣ ʖ C | |
key <AB04> {[ v, U028B, U2C71, U0274, doublelowquotemark, singlelowquotemark, NoSymbol, V ]}; // v ʋ ⱱ ɴ „ ‚ V | |
key <AB05> {[ b, Greek_beta, U0299, U0253, leftdoublequotemark, leftsinglequotemark, U0298, B ]}; // b β ʙ ɓ “ ‘ ʘ B | |
key <AB06> {[ n, eng, U0272, U0273, rightdoublequotemark, rightsinglequotemark, U01C3, N ]}; // n ŋ ɲ ɳ ” ’ ǃ N | |
key <AB07> {[ m, U0271, mu, U22C5, U0298, U01C3, U20BC, M ]}; // m ɱ µ ⋅ ʘ ǃ ₼ M | |
key <AB08> {[ comma, semicolon, periodcentered, multiply, U2020, U2021, NoSymbol, NoSymbol ]}; // , ; · × † ‡ | |
key <AB09> {[ period, colon, ellipsis, division, enfilledcircbullet, NoSymbol, NoSymbol, NoSymbol ]}; // . : … ÷ • | |
key <AB10> {[ minus, underscore, endash, emdash, U2011, U00AD, U2010, U2212 ]}; // - _ – — NoBrHyphen SHy Hy Minus | |
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\ | |
//│\\ | |
// Makes <KPDL> return comma instead of dot, as the comma is decimal separator outside the English dominions //🏵\\ | |
include "kpdl(comma)" //│\\ | |
//│\\ | |
// Maps Right Alt for reaching the third level //🏵\\ | |
include "level3(ralt_switch)" //│\\ | |
//│\\ | |
// Maps <CAPS> for reaching the fifth level //🏵\\ | |
include "level5(caps_switch)" //│\\ | |
//🏵\\ | |
// Offers pressing both shift keys for capslock //│\\ | |
include "shift(both_shiftlock)" //│\\🏵 | |
//│\│╱🌿 | |
//──────────────────────────────────────────────────────────────────────────────────────────────────────────────┴─┘˝˝ | |
// Note about a bug in XKB: One has to set lv5:rwin_switch_lock or one of the other level 5 locks for the caps switch to work! | |
// https://bugs.freedesktop.org/show_bug.cgi?id=102189 | |
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<layout> | |
<configItem> | |
<name>trans</name> | |
<description>International Phonetic Alphabet</description> | |
</configItem> | |
<variantList/> | |
</layout> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment