Kiel mi tajpas esperanton

Ĉe miaj surtablaj komputiloj mi pleje uzas Linux-on laboreje kaj FreeBSD hejme. Do mi rakontu, kiel mi tajpas esperanton tie. Tio ĉi estos pleje por testi kapablojn de Hugo pri kolorigo de programeroj, kaj iom por montri kia freneza mi estas.

Mi lernis tajpi sen rigardi la klavaron (hm, kiel oni nomas tion en esperanto? rekta tradukto de la rusa estus blind-tajpi, de la angla – palp-tajpi) antaŭ multaj jaroj, kaj poste, kiam miaj manartikoj komencis doloreti pro troa tajpado, mi lernis uzi Colemak anstataŭ malpli komforta QWERTY-aranĝo.

Tiu ĉi ŝanĝo kune kun mia simpatio al programlingvoj de lisp-a familio igis min fine elekti emaksan flankon en la eterna militado de Emacs kontraŭ Vim. Sed mi deflankiĝas, mi ne parolu pri tio.

Jen la aranĝo de Colemak:

La aranĝo de Colemak

Kaj Linux kaj BSD havas rektan subtenon por Colemak. Tamen la detaloj de tio, kiel oni ebligu tiun subtenon ja malsamas ĉie. Linux-e mi havas

	KEYMAP="colemak"

en mia /etc/vconsole.conf

En FreeBSD, oni metas ĉion en /etc/rc.conf kaj la magia linio estas:

	keymap="colemak.acc.kbd"

Kaj fine, OpenBSD havas apartan dosieron por indiki la klavararanĝon /etc/kbdtype, kaj denove, la nomo de la aranĝo mem malsamas:

    % cat /etc/kbdtype
    us.colemak

Almenaŭ en X11 la aranĝo ĉiam estas varianto de la baza us, do oni elektu ĝin per

    % setxkbmap us -variant colemak

aŭ io tio. La detaloj ja malsamas denove depende de la fenestrilo. Ni ĉiuj amas tiun ĉi malordon, ĉu?

Nu, per nura colemak oni jam povas tajpi esperantajn literojn. Oni presu AltGr+x, g por tajpi ’ĝ’, kaj oni presu AltGr+b,u por tajpi ’ŭ’. Tio ne sonas tre oportuna, ĉu? Ĝi ne estas.

Bone. Se vi estas esperantisto kaj iel legas ĉi tion, vi verŝajne scias, ke X11 havas ankaŭ apartan klavaranĝon por esperanto. Estas tre verŝajne, ke vi scias pli pri ĝi, ol mi, ĉar mi ne uzas ĝin.

Ĉiuokaze, kiel mi povas diri laŭ rigardi ĝin, eblas uzi ĝin en unu el du manieroj. Oni povas fari ion kiel

    % setxkbmap epo

kaj tio donas QWERTY-aranĝon kun kelkaj literoj anstataŭigitaj de la esperantaj. Tiel oni devas, ekzemple, presi Q por tajpi ’Ŝ’ kaj presi AltGr+Q por tajpi ’Q’.

Aŭ oni povas uzi ĝin kiel aldonaĝon por ajna kvar-nivela klavararanĝo. Por QWERTY tio povas esti, ekzemple:

    % setxkbmap 'us(intl)+epo(qwerty)'

El tio rezultus ordinara Usona(Internacia) klavararanĝo, sed kun aldonitaj esperantaj literoj je la tria nivelo. Tio estas, por tajpi ‘ĝ’, oni devas presi AltGr+g.

Mia ekzemplo kun colemak fariĝas do

    % setxkbmap us -variant colemak -option 'esperanto:colemak'

    % setxkbmap 'us(colemak)+epo(colemak)'

kio estas tute sama afero, nur skribita alie, ĉar jen, tiu malordo, ni ja daŭre amas ĝin.

Tio estus uzebla, sed mi multe tajpas en esperanto, do mi volas rektan enigon pre ununura klav-tuŝo, kaj mi ankaŭ estas alkutimiĝinta al iom alia aranĝo, kiu aspektas jene:

Mia aranĝo

Parenteze, la ununura kialo, pro kiu mi movas ; kaj : estas, ke kiel lisp-programanto, mi sentiĝas malkomforta, se mi havas ferman krampon sen koresponda malferma.

Ekde la tempo, kiam mi komencis provi lerni la ĉinan, sen granda sukceso, mi kutimiĝis uzi Fcitx por ĉiuj aldonaj lingvoj. Do, ankaŭ por esperanto mi uzas ĝin. Fcitx subtenas plurajn fontojn de enigmetodoj, inter kiuj estas m17n. Tiu biblioteko uzas lisp-ecan lingvon por deklari enigmetodojn, kiel bonŝance por mi!

M17n jam havas plurajn enigmetodojn por esperanto, inkluzive de kelkaj variaĵoj de h- kaj x-sistemoj, sed mi volas mian propran, kaj mi priskribas ĝin jene:

; -*- lisp -*-
;;; Input method for Esperanto // Enigmetodo por Esperanto

(input-method eo rekta)

(title "eo-rekta")

(description ("Enigmetodo por tajpi esperanton per rektaj klavoj"))

(map
  (esperanto
    ("x" )  ("X" )
    ("y" )  ("Y" )
    ("[" )  ("{" )
    ("]" ?\;) ("}" ?:)
    (";" )  (":" )
    ("q" )  ("Q" )
    ("w" )  ("W" )

    ("\\\\" ?\\)
    ("\\q" ?q)  ("\\Q" ?Q)
    ("\\w" ?w)  ("\\W" ?W)
    ("\\y" ?y)  ("\\Y" ?Y)
    ("\\x" ?x)  ("\\X" ?X)
    ("\\;" ?\;) ("\\:" ?:)
    ("\\[" ?\[)  ("\\{" ?{)
    ("\\]" ?\])  ("\\}" ?})))

(state
  (init
   (esperanto)))

Tio iras al novkreita /usr/share/m17n/eo-rekta.mim kaj mi ankaŭ bezonos bildeton por ĝi:

   % cd /usr/share/m17n/icons
   % sudo cp eo-plena.png eo-rekta.png

Post restartigi fcitx, tiu devas ekvidi la aranĝon:

“aldono de la aranĝo al fcitx”

Kaj nu, ĉar mi jam havas tiun lisp-ecan priskribon, estas triviale aldoni ĝin ankaŭ al emacs, por la okazo, se fcitx misfunkcios aŭ io.

(eval-and-compile
  (require 'quail))

(quail-define-package
 "esperanto-direct" "esperanto" "EO^" nil
 "Enigmetodo por esperanto uzante rektajn klavojn

   q → ŝ, w → ŭ, x → ĉ
   y → ĝ, ; → ĵ, [ → ĥ

  uzu \\ prefiksece por tajpi la originalan literon.")

(quail-define-rules
 ("q" ) ("Q" )
 ("w" ) ("W" )
 (";" ) (":" )
 ("y" ) ("Y" )
 ("x" ) ("X" )
 ("[" ) ("{" )
 ("]" ?\;) ("}" ?:)
 ("\\\\" ?\\)
 ("\\q" ?q)  ("\\Q" ?Q)
 ("\\w" ?w)  ("\\W" ?W)
 ("\\y" ?y)  ("\\Y" ?Y)
 ("\\x" ?x)  ("\\X" ?X)
 ("\\;" ?\;) ("\\:" ?:)
 ("\\[" ?[) ("\\{" ?{)
 ("\\]" ?])  ("\\}" ?}))

Ĉi tion oni metu al iu dosiero, kiun emacs ŝarĝos dum sia starto.

Do jen la fino de la enuiga rakonto, gratulojn por elteni min tiel longe!


esperanto teĥnikaĵoj