Input methods: Difference between revisions

4,642 bytes added ,  01:20, 21 December 2022
Added XKB layout; murdered vietoaq altogether.
(→‎Kaıchuo: link to el's fork)
(Added XKB layout; murdered vietoaq altogether.)
Line 177: Line 177:


=== AutoHotkey ===
=== AutoHotkey ===
[https://github.com/toaq/toaq.org/blob/master/toaq.ahk This official AutoHotkey script] will convert {{Key|a/}} into á, etc. Oh, it's actually outdated (has the old {{tone|3old}} instead of the new {{tone|3}}).
[https://github.com/toaq/toaq.org/blob/master/toaq.ahk This official AutoHotkey script] will convert {{Key|a/}} into á, etc. Oh, it's actually outdated (has the old {{tone|3old}} instead of the new {{tone|3}}). Oh it's actually double outdated.


=== US, intl. with dead keys ===
=== US, intl. with dead keys ===
If you are on Linux, there is a keyboard option called "US, intl. with dead keys". The way you enter diacritics is the same as the compose key one. Unfortunately, {{t|Ꝡ}} is not on the layout.
If you are on Linux, there is a keyboard option called "US, intl. with dead keys". The way you enter diacritics is the same as the compose key one. Unfortunately, {{t|Ꝡ}} is not on the layout.
=== XKB ===
Note that this requires messing with a few files, so don't use this if you don't quite get what you're doing.
{{collapsible|XKB symbols file|<pre>
default  partial alphanumeric_keys modifier_keys
xkb_symbols "basic" {
    name[Group1]= "Toaqzu (Hóegua)";
    key <TLDE> { [    grave, asciitilde ] };
    key <AE01> { [   1, exclam ] };
    key <AE02> { [   2, at ] };
    key <AE03> { [   3, numbersign ] };
    key <AE04> { [   4, dollar ] };
    key <AE05> { [   5, percent ] };
    key <AE06> { [   6, asciicircum ] };
    key <AE07> { [   7, ampersand ] };
    key <AE08> { [   8, asterisk ] };
    key <AE09> { [   9, parenleft ] };
    key <AE10> { [   0, parenright ] };
    key <AE11> { [    minus, underscore, endash, emdash ] };
    key <AE12> { [    equal, plus ] };
    key <AD01> { [   q, Q ] };
    key <AD02> { type[group1] = "FOUR_LEVEL_ALPHABETIC",
                    [   UA761, UA760, w, W ] };
    key <AD03> { [   e, E ] };
    key <AD04> { [   r, R ] };
    key <AD05> { [   t, T ] };
    key <AD06> { [   y, Y ] };
    key <AD07> { [   u, U ] };
    key <AD08> { type[group1] = "FOUR_LEVEL_ALPHABETIC",
                    [ idotless, I, i, Iabovedot ] };
    key <AD09> { [   o, O ] };
    key <AD10> { [   p, P ] };
    key <AD11> { [ guillemotleft, U2039, bracketleft, braceleft ] };
    key <AD12> { [ guillemotright, U203A, bracketright, braceright ] };
    key <AC01> { [   a, A ] };
    key <AC02> { [   s, S ] };
    key <AC03> { [   d, D ] };
    key <AC04> { [   f, F ] };
    key <AC05> { [   g, G ] };
    key <AC06> { [   h, H ] };
    key <AC07> { [   j, J ] };
    key <AC08> { [   k, K ] };
    key <AC09> { [   l, L ] };
    key <AC10> { [ dead_circumflex, dead_hook, semicolon, colon ] };
    key <AC11> { [ dead_acute, dead_diaeresis, apostrophe, quotedbl ] };
    key <AB01> { [   z, Z ] };
    key <AB02> { [   rightsinglequotemark, dead_macron, x, X ] };
    key <AB03> { [   c, C ] };
    key <AB04> { [   dead_belowdot, dead_caron, v, V ] };
    key <AB05> { [   b, B ] };
    key <AB06> { [   n, N ] };
    key <AB07> { [   m, M ] };
    key <AB08> { [   comma, less ] };
    key <AB09> { [   period, greater ] };
    key <AB10> { [   slash, question ] };
    key <BKSL> { [   backslash,        bar, dead_grave, dead_tilde ] };
   
    key <SPCE> { [   space, space, nobreakspace, nobreakspace ] };
   
  include "level3(ralt_switch)"
};
</pre>}}
You will also need add some Compose keys.
{{collapsible|XCompose definitions|<pre>
<dead_acute> <dead_belowdot> <a>            :"ạ́"
<dead_diaeresis> <dead_belowdot> <a>        :"ạ̈"
<dead_circumflex> <dead_belowdot> <a>        :"ậ"
<dead_acute> <dead_belowdot> <e>            :"ẹ́"
<dead_diaeresis> <dead_belowdot> <e>        :"ẹ̈"
<dead_circumflex> <dead_belowdot> <e>        :"ệ"
<dead_acute> <dead_belowdot> <idotless>      :"ị́"
<dead_diaeresis> <dead_belowdot> <idotless>  :"ị̈"
<dead_circumflex> <dead_belowdot> <idotless> :"ị̂"
<dead_acute> <dead_belowdot> <o>            :"ọ́"
<dead_diaeresis> <dead_belowdot> <o>        :"ọ̈"
<dead_circumflex> <dead_belowdot> <o>        :"ộ"
<dead_acute> <dead_belowdot> <u>            :"ụ́"
<dead_diaeresis> <dead_belowdot> <u>        :"ụ̈"
<dead_circumflex> <dead_belowdot> <u>        :"ụ̂"
<dead_belowdot> <dead_acute> <a>            :"ạ́"
<dead_belowdot> <dead_diaeresis> <a>        :"ạ̈"
<dead_belowdot> <dead_circumflex> <a>        :"ậ"
<dead_belowdot> <dead_acute> <e>            :"ẹ́"
<dead_belowdot> <dead_diaeresis> <e>        :"ẹ̈"
<dead_belowdot> <dead_circumflex> <e>        :"ệ"
<dead_belowdot> <dead_acute> <idotless>      :"ị́"
<dead_belowdot> <dead_diaeresis> <idotless>  :"ị̈"
<dead_belowdot> <dead_circumflex> <idotless> :"ị̂"
<dead_belowdot> <dead_acute> <o>            :"ọ́"
<dead_belowdot> <dead_diaeresis> <o>        :"ọ̈"
<dead_belowdot> <dead_circumflex> <o>        :"ộ"
<dead_belowdot> <dead_acute> <u>            :"ụ́"
<dead_belowdot> <dead_diaeresis> <u>        :"ụ̈"
<dead_belowdot> <dead_circumflex> <u>        :"ụ̂"
<dead_acute> <dead_belowdot> <A>            :"Ạ́"
<dead_diaeresis> <dead_belowdot> <A>        :"Ạ̈"
<dead_circumflex> <dead_belowdot> <A>        :"Ậ"
<dead_acute> <dead_belowdot> <E>            :"Ẹ́"
<dead_diaeresis> <dead_belowdot> <E>        :"Ẹ̈"
<dead_circumflex> <dead_belowdot> <E>        :"Ệ"
<dead_acute> <dead_belowdot> <I>            :"Ị́"
<dead_diaeresis> <dead_belowdot> <I>        :"Ị̈"
<dead_circumflex> <dead_belowdot> <I>        :"Ị̂"
<dead_acute> <dead_belowdot> <O>            :"Ọ́"
<dead_diaeresis> <dead_belowdot> <O>        :"Ọ̈"
<dead_circumflex> <dead_belowdot> <O>        :"Ộ"
<dead_acute> <dead_belowdot> <U>            :"Ụ́"
<dead_diaeresis> <dead_belowdot> <U>        :"Ụ̈"
<dead_circumflex> <dead_belowdot> <U>        :"Ụ̂"
<dead_belowdot> <dead_acute> <A>            :"Ạ́"
<dead_belowdot> <dead_diaeresis> <A>        :"Ạ̈"
<dead_belowdot> <dead_circumflex> <A>        :"Ậ"
<dead_belowdot> <dead_acute> <E>            :"Ẹ́"
<dead_belowdot> <dead_diaeresis> <E>        :"Ẹ̈"
<dead_belowdot> <dead_circumflex> <E>        :"Ệ"
<dead_belowdot> <dead_acute> <I>            :"Ị́"
<dead_belowdot> <dead_diaeresis> <I>        :"Ị̈"
<dead_belowdot> <dead_circumflex> <I>        :"Ị̂"
<dead_belowdot> <dead_acute> <O>            :"Ọ́"
<dead_belowdot> <dead_diaeresis> <O>        :"Ọ̈"
<dead_belowdot> <dead_circumflex> <O>        :"Ộ"
<dead_belowdot> <dead_acute> <U>            :"Ụ́"
<dead_belowdot> <dead_diaeresis> <U>        :"Ụ̈"
<dead_belowdot> <dead_circumflex> <U>        :"Ụ̂"
</pre>}}


=== Xmodmap ===
=== Xmodmap ===
Line 408: Line 542:


And you will be understood.
And you will be understood.
=== Vietoaq ===
For a bit, a [https://en.wikipedia.org/wiki/Telex_(input_method) Vietnamese Telex] equivalent called '''Vietoaq''' was popular, where the idea was to use consonants at the end of a syllable to represent tone.
For example, {{t|lé lë lẻ lê lè lẽ}} is written <tt>lep lex len let lek lef</tt>.
To make matters worse, {{t|léq lëq lẻq lêq lèq lẽq}} is written, by diehard Vietoaq oldbies, as <tt>leb lez lem led leg lev</tt>.
This was back when compound words used {{tone|1}}, and {{t|lē lēq}} were written <tt>ler lel</tt>. So, {{t|tóaqkūq}} became <tt>toabkul</tt>.
Eventually came '''Diet Vietoaq''', which just puts one of <tt>pxntkf</tt>, marking the tone for the whole word, at the end of the word: {{t|tóaqkūq}} becomes <tt>toaqkuqp</tt>. In that sense, it is more like the "ASCII tone markers" in the previous section.
Vietoaq has not been updated to [[Toaq Delta]]. '''Do not update it to Toaq Delta;''' experience shows that the existence of a "lazy" spelling undermines the official orthography and makes reading comprehension harder for everybody. If you're short on options, you can always use [[#Kaıchuo]].