murariu.info

Home > Articole > Computing > *nix > Adaptarea tastaturii pentru folosirea diacriticelor româneşti pentru (...)

Adaptarea tastaturii pentru folosirea diacriticelor româneşti pentru sistemele *nix

Monday 27 June 2005, by Valentin Murariu

În Adaptarea tastaturii pentru folosirea diacriticelor româneşti pentru sistemele Microsoft Windows scriam despre cum se fabrică o tastatură pe măsură - pentru a suporta caracterele diacritice romăneşti - pe un sistem cu Microsoft Windows. Aşadar m-am hotărât să recidivez cu articolul de faţă în care voi încerca să descriu un proces similar de fabricare a unui mapări de tastatură cu diacritice româneşti pentru un sistem Linux. Rezultatul este testat şi merge de minune pe un sistem Mandriva Linux 10.1 - aşa cum am acasă.

Probabil că vă aşteptaţi la asta: e mai simplu de adaptat o tastatură sub Linux. De ce ? Din cauza arhitecturii sistemului de exploatare, bineînţeles.

Sub Linux tastatura sistemului este iniţializată la demarare cu loadkeys. După aceea, la pornirea sistemului X poţi din nou să modifici tastatura folosită de aplicaţiile X cu xmodmap. De asemenea, la demararea gestionarului de ferestre, KDE în cazul meu, ai posibilitatea să îl configurezi în aşa fel încât să folosească una sau mai multe alte mapări de tastatură - nu neaparat aceleaşi ca maparea sistem implicită.

Eu am ales varianta cu xmodmap pentru că este varianta cu cel mai mic efort de implementare. Pentru varianta loadkeys sau cea gestionată de KDE cu ajutorul setxkbmap, ar fi trebuit să fabric o descriere completă a unei noi tastaturi - şi această descriere completă ar fi trebuit refăcută pentru fiecare layout fizic de tastatură.

Iată soluţia: în interiorul directorului /etc/X11/xinit.d [1] am creat un fişier romanian_keys [2] cu următorul conţinut:

Codurile abreve, scedilla, etc. le-am luat, conform documentaţiei xmodmap [3], din fişierul <X11/keysymdef.h>.

Rezultatul este următorul: prin apăsarea simultană a tastei Control din dreapta tastei Spaţiu şi a literelor q,a,s,t,i obţii:

Control_R + a = ă
Control_R + q = â
Control_R + i = î
Control_R + s = ş
Control_R + t = ţ

Control_R + Shift + a = Ă
Control_R + Shift + q = Â
Control_R + Shift + i = Î
Control_R + Shift + s = Ş
Control_R + Shift + t = Ţ

La lansarea server-ului X, directorul menţionat mai sus este scanat şi toate fişierele executabile găsite acolo sunt lansate. Aşa că nu uitaţi să declaraţi fişierul nou creat ca fiind executabil:

C’est tout !


Notiţă 2006.01.10: lectura articolului Accented Letters On ASCII Keyboards Under X11 vă învaţă cum să folosiţi şi alte taste, de exemplu CapsLock, pentru a obţine acelaşi rezultat.


[1server-ul meu este X.org, dar bănuiesc că nu e nici o diferenţă pentru XFree86

[2numele nu contează

[3puteţi încerca o lectură man xmodmap pe sistemul dumneavoastră