Log in


Forgot your password?
prijatelji LUGoNSa
gnu.gif
linuxzasve.jpg
hulk.jpg
 
You are here: Home / Uputstva / Opšte / Xorg-server 1.5, HAL input hotplugging i rasporedi na tastaturi

Xorg-server 1.5, HAL input hotplugging i rasporedi na tastaturi

by Andrija Prčić last modified Dec 02, 2008 11:49 PM

Od verzije 1.5, Xorg server podrazumevano ima i HAL podršku koja omogućava da svaki novo ubodeni uređaj za unos podataka bude uredno prepoznat i konfigurisan bez potrebe da se X server restartuje. Meni se lično desilo da usred prezentacije shvatim da touchpad na laptopu i nije tako zgodan za kruženje po određenim delovima ekrana da bih pokazao ljudima na šta mislim, a miš koji je sveže uboden u slobodan USB port nije hteo odmah da sarađuje. Zgodna je ova nova tehnologija, zaista sam bio oduševljen kada sam prvi put uzeo da je testiram. Pronađem USB miša, ubodem u slobodan port, i ... radi! Kursor se mrda! Ovo su neke od sitnica koje čoveku zaista ulepšaju dan.

No, dosta sam lutao po svojim sećanjima, ovaj tekst će da se bavi problematikom kako osposobiti da se raspored tastature menja koristeći neku kombinaciju tastera direktno u X serveru, bez potrebe za punim okruženjem i posebnim programom za tu namenu. Nekada se to rešavalo tako što se u standardni Xorg konfiguracioni fajl, sekciju "InputDevice" dodao isečak* nalik na:

    Option         "XkbLayout" "us,rs"
    Option         "XkbVariant" ",latinyz"
    Option         "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"

Nakon toga sledi jedan restart X servera i sve radi. Tako je bilo nekada. E, sada dolazimo nazad u sadašnjost u kojoj ovo više ne radi. A za sve je kriv HAL koji je omogućio potpuni plug-n-play užitak. Dugo sam živeo uz razne skriptice koje pozivaju setxkbmap, ali sam odlučio da je bilo dosta, i krenuo u burlanje dokumentacije**.

Stvar uopšte nije tako komplikovana kao što se moglo očekivati. Jeste da se treba igrati malo sa HAL polisama, ali su one generalno vrlo čitljive ukoliko imate osnovno poznavanje XML-a.

Prvo što treba uraditi je kopirati podrazumevanu polisu:

cp /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi /etc/hal/fdi/policy/10-keymap.fdi

Zatim omiljenim editorom otvoriti novostvoreni fajl:

$EDITOR /etc/hal/fdi/policy/10-keymap.fdi

Pred sam kraj se nalazi ovako nešto:

    <merge key="input.xkb.layout" type="string">us</merge>
    <merge key="input.xkb.variant" type="string" />
Ja sam to zamenio sledećim (rasporedi redom: standardni us raspored, srpski raspored tako da se y i z karakteri nalaze na istom mestu gde i na us rasporedu, ćirilični raspored u kome je z na svom uobičajenom mestu; menjanje rasporeda u krug ide na pritisak oba shift tastera):
    <merge key="input.xkb.layout" type="string">us,rs,rs</merge>
    <merge key="input.xkb.variant" type="string">,latinyz,yz</merge>
    <merge key="input.xkb.options" type="string">grp:shift_toggle</merge>

Zatim sledi restart HAL daemon-a da bi se učitala nova polisa (mada sam siguran da postoji i neki signal koji može da mu se pošalje upravo za ovu namenu, no i ovo radi posao)***:

/etc/init.d/hald restart

Na kraju sam ipak morao da restartujem i X server da bih uživao u blagodetima svog rada. Ja sada vrlo jednostavno menjam sebi raspored na tastaturi i imam potpuni plug-n-play za ulazne uređaje, a ti?

 

* Zahvaljujem se Zoranu Olujiću koji mi je svojevremeno dao ovaj isečak za xorg.conf.

** Zoran me takođe uputio na Arch Linux wiki stranicu koja se bavi ovom tematikom.

*** U zavisnosti od toga koja distribucija se koristi, moguće je da se hald skripta ne nalazi na tom mestu nego u /etc/rc.d ili na nekom trećem mestu. Gentoo je ima na mestu koje se koristi gore u uputstvu.

Document Actions