Tastaturi românești

Scurt istoric al fișierului „ro” din XFree86 și X.Org

Prima mapare românească pentru XFree86 a fost cea scrisă în anul 2000 de Cristian Gafton. Ea doar adăuga mapării implicite „us” cele cinci diacritice românești: Ă, Â, Î, Ș și Ț în cunoscutele poziții: AltGr+a, AltGr+q, AltGr+i, AltGr+s, AltGr+t (pentru majuscule se ține apăsată și tasta Shift). Precum în alte fișiere xkb existente, s-au utilizat nivelurile trei și patru ale tastelor A, Q, I, S și T pentru generarea diacriticelor folosind ca modificator AltGr (tasta Alt din dreapta barei de spațiu). S-au evitat astfel discordanțele dintre ce este inscripționat pe tastaturi (care în România sunt într-o proporție covârșitoare tastaturi US) și maparea xkb. Acest aranjament, cunoscut și sub denumirile „ro_us” sau „ro-programmers”, este foarte convenabil pentru cei care nu folosesc intens diacriticele, dar care vor să le aibă disponibile permanent.

Aranjamentul inițial a fost apoi adaptat în 2001 pentru a funcționa în XFree86 4.x de către Mișu Moldovan. Acesta a fost și momentul în care Marius Andreiana a adăugat o variantă „comma” pentru generarea diacriticelor cu virgulă dedesubt, precum cele din standardul ISO-8859-16. În 2003 însă, Manfred Pohler a creat un aranjament asemenea celui din Windows și l-a propus în XFree86 Bugzilla pentru a înlocui fișierul xkb „ro” existent. Ivan Pascal, dezvoltatorul responsabil, a inclus aranjamentul său ca mapare implicită în fișierul xkb „ro” alături de celelalte existente deja. Mai multe detalii în bug-ul 300 din XFree86 Bugzilla. În prezent (octombrie 2005), acest aranjament tip Windows este încă cel implicit în ultimele versiuni X: XFree86 4.5 și X.Org 6.8.2. Unele noi distribuții Linux utilizează XKeyboardConfig, un proiect ce își propune să unifice configurările de tastatură din sistemele X Window free/opensource și comerciale. Acest proiect include din septembrie 2005 aranjamentul ce a fost dezvoltat și publicat în cadrul acestui proiect.


Standardul românesc de tastatură

Dan Matei la a treia întrunirePrimul standard oficial pentru o tastatură românească a fost SR-13392 din anul 1998, care nu a fost implementat în nici un sistem de operare. Există însă un driver „third-party” pentru sistemele Windows care implementează această mapare, disponibil pe site-ul Institutului de Memorie Culturală. În paralel au existat mai multe încercări de definire a unor noi aranjamente, mai ergonomice și pe cât posibil compatibile cu modelele US ale tastaturilor de pe piața românească. Cele mai stăruitoare eforturi i-au aparținut lui Cristian Secară, care a constatat existența a două categorii distincte de utilizatori de diacritice. Unii erau obișnuiți cu poziția diacriticelor din maparea românească de la Microsoft, dar erau nemulțumiți de neajunsurile sale (inversarea tastelor Y și Z, remaparea caracterelor @#$%^&*()-_=+). Alții, de regulă utilizatori de Linux sau programatori, nu doreau ca diacriticele să fie mapate în contradicție cu ce e inscripționat pe tastaturile US.

Din inițiativa lui Cristian Secară, în perioada iulie 2003 - iulie 2004 au avut loc cinci întruniri la care au participat specialiști din partea mai multor instituții publice (ASRO, CIMEC, Universitatea București), firme private (Microsoft, IBM) și comunități de utilizatori (Windows, MacOS, Linux). În urma dezbaterilor pe marginea propunerilor inițiatorului a rezultat un nou standard românesc de tastatură, ce a fost înaintat Asociației de Standardizare din România pentru omologare. În cursul lunii decembrie 2004 acesta a fost adoptat cu numărul SR 13392:2004. (În imaginea din dreapta, Dan Matei, directorul Institutului de Memorie Culturală, la a treia întrunire pe tema unui nou standard de tastatură românească, ce a avut loc în data de 25 noiembrie 2003 la sediul Institutului Bancar Român).

Aranjament primarNoul standard de tastatură cuprinde două aranjamente: unul primar derivat din cel prezent în Windows, dar în format QWERTY, fără să schimbe caracterele de pe nivelul doi al tastelor numerice, și unul secundar, derivat din cel original din XFree86, cu diacriticele pe nivelurile trei și patru ale tastelor A, Q, I, S și T. Ambele aranjamente mapează noul caracter Euro „€” pe nivelul trei al tastei E (se va utiliza combinația AltGr+E) și includ ca taste moarte (cu roșu în imaginile alăturate) toate accentele necesare generării diacriticelor specifice limbilor celor mai importante minorități de pe teritoriul României: maghiară, germană, turcă, polonă, sârbo-croată, alte limbi slave cu grafie latină. Cred că același lucru se poate spune și despre limba romanes vorbită în România, dar informațiile disponibile nu sunt întrutotul relevante.


Noua implementare pentru X.Org și XFree86

Aranjament secundarOdată cu definitivarea noului standard a devenit necesară implementarea celor două mapări românești de tastatură din standardul SR 13992:2004 în X.Org și XFree86. La fel ca în Windows, din motive de compatibilitate trebuia păstrat și aranjamentul de tip QWERTZ implementat de Martin Poehler în 2003. Însă mai exista o problemă majoră, cea a diacriticelor din ISO-8859-16, adică Ș și Ț cu virgulă dedesubt. Din motive de compatibilitate cu platforma Windows (mai multe detalii în acest articol scris de Cristian Secară), nu s-a putut evita înlocuirea Ș-urilor și Ț-urilor din ISO-8859-16 cu cele din ISO-8859-2 în noua mapare xkb, adoptându-se același compromis ca în cazul driver-ului de Windows ce implementează noul standard disponibil la secarica.ro. În plus au mai trebuit create două variante ce implementează diacriticele din standardul ISO-8859-16 pentru cele două mapări din noul standard. În concluzie, aranjamentele rezultate sunt:

Observație: În versiunea 1.1, denumirile ultimelor trei variante erau: standard, ideal și ms, schimbarea numelor s-a făcut odată cu acceptarea noii implementări în proiectul XKeyboardConfig, mai multe detalii în Bugzilla freedesktop.org.


Instalarea manuală a noii mapări

Distribuțiile ce utilizează XKeyboardConfig 0.6 sau mai vechi (Ubuntu 5.10, *SuSE 10 etc.) includ o versiune a fișierului „ro” ce nu conține aranjamentele din noul standard. Pentru o instalare manuală, descărcați din repozitoriul proiectului versiunea echivalentă celei disponibile aici și suprascrieți fișierul /etc/X11/xkb/symbols/ro (după ce ați făcut o copie de backup).


Alte observații

Această pagină se referă deocamdată doar la mapările de tastatură pentru XFree86 și X.Org, neglijând deocamdată alte mapări cum ar fi de exemplu cele pentru consola Linux. A se vedea alte articole interesante pe această temă pe site-ul Linux-KDE România și pe site-ul personal al lui Mugurel Ciobîcă.