Fontkodo: Esperanto filter
La alfabeto de Esperanto mankas kelkajn literojn troveblajn en la latina alfabeto, sed ĝi enhavas ses literojn kun diakritaj signoj: kvin kun cirkumflekso (ĵ, ĥ, ŝ, ĉ kaj ĝ) kaj unu kun brevo (ŭ). Kompreneble, literoj kun diakrita signo diferencas laŭ sono kaj signifo de siaj simplaj ekvivalentoj. Ekzemple, «j» sonas kiel la „i” en view en la angla, sed «ĵ» sonas kiel la „j” en joy. Same, se «komenciĝis» signifas “komenciĝis mem” (sen aganto), tiam «komencigis», sen la cirkumflekso super „g”, signifas “estis komencita de iu”.
Kompreneble, Haiku subtenas Esperanton, kaj eĉ ekzistas aparta sistema klavara aranĝo por Esperanto, kiun oni povas aldoni al la ŝaltilo de klavararanĝoj:

Sed ĉu vere indas aldoni ankoraŭ unu aranĝon nur por ses literoj — kiam mi jam havas tri (la rusan, la anglan kaj la hebrean)? Des pli, ĉar tiuj suplementaj literoj troviĝas en la plej neantaŭvideblaj lokoj de la klavaro kaj ne estas presitaj sur la klavoj mem. Kompreneble ne. En Windows tiu problemo estis solvita jam delonge — ekzistas senpaga programo nomata Tajpi, kiu ebligas aldoni diakritajn signojn al literoj tajpitaj en la angla aranĝo simple tajpante la simbolon „^” tuj poste. Do kial ne krei similan utilaĵon por Haiku?
Tiel naskiĝis la input server add-on por facila tajpado de Esperanto-literoj.
Input server add-on estas filtrilo, tra kiu pasas ĉiuj mesaĝoj de enigiloj. Klavopremoj de la klavaro, movoj de la muso, klinadoj de la stirilo kaj premo de la grifelo estas ĉiuj transdonataj al la operaciumo tra la input server kiel mesaĝoj enirantaj en komunan FIFO-bufron. La add-on havas aliron al tiuj mesaĝoj kaj povas ilin filtri, modifi, aldoni novajn al la bufron aŭ forigi ilin.
Unue mi kaptis kaj konservis la mesaĝojn, kiujn la klavara pelilo sendas dum tajpado de literoj kun diakritaj signoj, same kiel la mesaĝon respondan al la Retropaŝo (Backspace). Poste restis nur desegni simplan finstatan aŭtomaton: se venas litero, kiu povas havi diakritan signon, la add-on eniras „atendoreĝimon”; se la sekva signo estas „^”, ĝi aldonas du mesaĝojn al la FIFO-bufro — unue por Retropaŝo, poste por la responda litero kun diakrita signo — kaj eniras duan atendoreĝimon. Se venas ankoraŭ unu „^”, ĝi denove sendas Retropaŝon kaj poste la originalan simplan literon sen diaktria signo.
Jen kiel ĝi aspektas dum uzo:
Poste mi decidis, ke estus bone aldoni agordan panelon:

Tio, kompreneble, postulis kelkajn ŝanĝojn en la finstata aŭtomato — sed eĉ post la komplikigo ĝi restis sufiĉe simpla.
La plej granda defio en la agorda fenestro estis la efektivigo de la areo por rektaj klavoj — literoj, kiuj aŭtomate estas anstataŭigitaj per diakritaj literoj. Ĝi uzas kaj enigan kampon por teksto, kaj maskon, kiu permesas enigi nur unu literon, aŭtomate konvertante ĝin al minusklo. Estas logiko por ŝalti aŭ malŝalti kampojn depende de markobutono, oblikva ruĝa streko se la koncerna litero ne estas uzata, kaj reliefigo de alia kampo, se la uzanto erare provas atribui la saman bazliteron al du malsamaj Esperanto-literoj. Mi dirus, ke tri kvaronoj de la tuta kodo laboras ĝuste kun tiuj kampoj.
Fontkodo: Esperanto filter