LINUXZONE






 >> Hlavní stránka

(1740/07.09.2010)


 >> Administrace

(161/05.08.2010)


 >> Literatura

(311/07.09.2010)


 >> Bezpečnost

(345/03.09.2010)


 >> Programování

(307/19.04.2010)


 >> Distribuce

(97/09.06.2010)


 >> Síťování

(86/03.06.2010)


 >> Lokalizace

(10/15.09.2004)


 >> Aplikace

(176/12.08.2010)


 >> Multimedia

(32/31.03.2006)


 >> Hardware

(45/02.03.2007)


 >> Začínáme

(228/24.06.2010)


 >> Aktuálně

(562/06.09.2010)


 >> RELAX

(209/02.09.2010)


 >> Jinde vyšlo

přehled ostatních serverů




 Přihlášení




Login:
Heslo:
 uložit v prohlížeči


Nejste-li ješte zaregistrováni, můžete tak učinit zde.





 Vyhledávání




Hledaný výraz:
v klíčových slovech
v titulku
v anotaci
v textu








 Reklama









 Servis




*   Vaše náměty a připomínky
Máte k Linuxzone.cz nějaké připomínky nebo náměty? Našli jste na stránkách chybu? Dejte nám o tom vědět pomocí formuláře nebo v diskuzi.
Komentářů: 30
*   Podpořte Linuxzone.cz
Chcete podpořit náš server umístěním odkazu nebo zveřejněním backendu? Zde najdete vše potřebné.
*   Pište pro Linuxzone.cz
Máte zájem podílet se na obsahu Linuxzone.cz ať už jako redaktoři nebo i jinak? Dejte nám o sobě vědět!





 Aktuálně z bezpečnosti




-- 
6.12.2005, 19:01
Na serveru informit.com vyšla ukázková kapitola týkající se práce s řetězci z knihy Secure Coding in C and C++. (lz)

-- 
3.12.2005, 12:34
Bugtraq: Format String Vulnerabilities in Perl Programs. (lz)

-- 
3.12.2005, 12:32
Linux Advisory Watch December 2nd 2005. (lz)

-- 
23.10.2005, 13:28
Rozhovor na téma klasické zálohování versus CDP. (lz)

-- 
23.10.2005, 13:24
Linux Advisory Watch October 21st 2005. (lz)

další >>





 Aktuálně o software




-- 
6.12.2005, 19:07
Potřebujete-li pod linuxem rozchodit bezdrát založený na čipsetech Broadcom 43xx, konečně existuje linuxový ovladač. (lz)

-- 
6.12.2005, 19:04
Byla uvolněna verze Xen 3.0.0 virtualizační technologie XEN. (lz)

-- 
6.12.2005, 18:59
Byla uvolněna verze X11R6.9/X11R7 RC 3 grafickérho rozhraní X Window System. (lz)

-- 
3.12.2005, 12:45
Co je nového okolo projektu Amanda (open source zálohovací software)? Více na osnews.com. (lz)

-- 
3.12.2005, 12:40
Jak to akuálně v linuxu vypadá s podporou SATA.. (lz)

další >>





 Aktuálně z IT




-- 
3.12.2005, 12:51
Novellu se daří prodej linuxových produktů, oproti loňskému roku se Novell dočkal výrazného nárůstu. (lz)

-- 
3.12.2005, 12:48
Třetí verzi licence GPL by měla být publikována během jara 2007. (lz)

-- 
23.10.2005, 13:20
V Peru nyní mají zákon, který umožňuje nasazení open source software ve vládní správě. (lz)

-- 
23.10.2005, 13:14
Proč se Microsoft bojí Google? (lz)

-- 
27.9.2005, 22:01
Peru má zákon podporující free software. (lz)

další >>





 Nejčtenější články




-- 
Virtualizace - Praktický průvodce

-- 
Novinky ze světa svobodného software (21/2010)

-- 
Novinky ze světa svobodného software (22/2010)

-- 
Security Digest (21/2010)

-- 
Bezpečnost bezdrátové komunikace

-- 
Prodej svobodného software? (2/2)

-- 
Patentová reforma nestačí

-- 
Prodej svobodného software? (1/2)

-- 
Gamesárium [140]

-- 
Novinky ze světa svobodného software (23/2010)






 Nejlepší články




-- 
Security Digest (22/2010)

-- 
Virtualizace - Praktický průvodce

-- 
Security Digest (21/2010)

-- 
Novinky ze světa svobodného software (21/2010)

-- 
Novinky ze světa svobodného software (23/2010)

-- 
Novinky ze světa svobodného software (22/2010)

-- 
Prodej svobodného software? (2/2)

-- 
Bezpečnost bezdrátové komunikace

-- 
TCP/IP v kostce

-- 
Patentová reforma nestačí






 Anketa




Používáte nějaké rozšíření bezpečnostního modelu linuxového jádra?

Openwall (18%)

LIDS (12%)

Pax/Grsecurity (3%)

SELinux (6%)

RSBAC (1%)

jiné (1%)

používám standardní jádro (59%)







Linuxzone.cz - server o Linuxu pro programátory, administrátory a fanoušky.
Provozuje společnost Impossible.
ISSN: 1213-8738





XFree a window managery X. - vstupní zařízení

Minule jsme se zabývali výstupní částí systému X, tedy displeji. Dnes přicházejí na řadu zařízení vstupní, jejichž prostřednictvím získává X server informace od uživatele a předává je aplikacím.

Kategorie vstupních zařízení

Vstupní zařízení, o kterých má smysl v souvislosti s X Window Systemem hovořit, můžeme rozdělit do těchto kategorií:

  • myši a obdobná zařízení (trackball, touchpad atd.)
  • klávesnice
  • dotykové obrazovky, projektory se zpětnou vazbou
  • ostatní (speciální) vstupní zařízení

Každá z těchto kategorií má svá specifika a charakteristické problémy, často v souvislosti s historickým vývojem X a jeho postupným prosazováním v praxi.

Myši

Myši a podobná polohovací zařízení jsou v X poměrně bezproblémovou kategorií. Jejich principy jsou jednoduché a obsluha X serverem je tedy již velmi dobře zvládnuta. Současné verze XFree86 jsou schopny pracovat se všemi obvyklými způsoby připojení myší (sériový port, sběrnice, PS/2, USB) - pozor však na to, že na některých platformách nemusí být některé způsoby podporovány (není to případ Linuxu, zde je podpora velmi kvalitní). Totéž se týká i koleček a přídavných tlačítek na myších.

Pozor! U myší pro USB často nacházíme také redukci pro připojení na PS/2. Nedoporučuji tuto redukci používat, myš se může chovat nevyzpytatelně; lepší je - pokud to lze - připojit myš přímo na USB (není-li volný port, raději přidat USB hub).

Konfigurace myši

Pokud máme myš připojenu již při instalaci GNU/Linuxu s XFree86, instalační program by měl myš automaticky detekovat a my pak jen upřesníme nastavení (např. zda u dvoutlačítkové myši použít emulaci třetího tlačítka). Podrobná nastavení vlastností myši poskytují nástroje, které jsou součástí balíků window managerů. Obvykle lze nastavovat citlivost, akceleraci, vlastnosti kurzoru atd.

Ale i pokud byla myš instalována dodatečně (např. při nákupu nové myši), není nastavení žádný problém. Programy xf86config, XF86Setup apod. nabídnou seznam myší, z nichž vybereme buď přímo konkrétní myš, nebo některou z generických myší.

Pokud vše selže, nebo máme-li specifické požadavky na práci myší, zbývá možnost ruční editace souboru XF86Config. Škála možností je zde velice rozsáhlá, záleží na provedení konkrétní myši. Typická sekce pro nastavení parametrů myši vypadá takto:

Section "InputDevice"
    Identifier "Mouse 1"
    Driver "mouse"
    Option "Device" "/dev/mouse"
    Option "Protocol" "Auto"
    Option "Buttons" "3"
    Option "ZAxisMapping" "Y"
EndSection    

Příklad ukazuje sekci pro 3-tlačítkovou myš s kolečkem. Položka "Auto" u názvu protokolu znamená, že se ho má X server pokusit detekovat. Většinou to funguje, jinak je třeba napsat název konkrétního protokolu. Zajímavá je položka "ZAxisMapping", která určuje způsob interpretace kolečka (v tomto případě posun ve směru osy Y). Nutno podotknout, že pokud určujeme protokol přímo, pro generické protokoly (PS/2, serial atd.) nebude kolečko fungovat - je třeba určit příslušný proprietární protokol, pokud ho X server podporuje (viz dokumentace ke konkrétní verzi XFree86). Stejným způsobem se pracuje také s přídavnými tlačítky. Význam tlačítek myši lze za běhu X serveru měnit programem xmodmap (bude o něm řeč v části o klávesnici).

Klávesnice

Klávesnice je zařízení na první pohled jednoduché, ale z softwarového hlediska je naopak součástí velmi problematickou. Platí totiž, že co jazyk, to jiná klávesnice. Navíc existují klávesnice převzaté z psacích strojů, klávesnice programátorské atd. Jednoduše řečeno, obrovskou množinu "logických" klávesnic musíme napasovat na množinu klávesnic fyzických. Je příjemné mít ještě možnost mezi logickými klávesnicemi snadno přepínat. Tedy: úkol nikoli jednoduchý.

Na straně fyzického zařízení je základní entitou klávesa - ta může být stisknutá nebo uvolněná. Nyní se ještě nijak nezabýváme tím, kolik kláves můžeme stisknout najednou, natož aby záleželo na posloupnosti stisku kláves. Na druhé straně, tedy v aplikačním programu, očekáváme přijetí znaku kódovaného podle kódování použitého v tomto programu (obvykle bývá totožné s kódováním celé platformy). Tímto kódováním bývá dnes už často Unicode, takže máme o jednu starost méně (jinak bychom museli ještě hlídat, aby aplikace znakům správně rozuměla - používala stejné kódování jako X server nebo aby se znaky překódovávaly).

Pokud by stačilo jednoduše přiřazovat každé stisknuté klávese nějaký kód, nebyl by problém toto překódovávání zajistit. Ale v praxi se musíme vyrovnat s více překážkami:

  • závislost "logického znaku" na dalších stisknutých klávesách (typicky Shift, Control, Alt) - jednotlivě i současně
  • závislost na režimu klávesnice (zapnutý/vypnutý Caps Lock, resp. Num Lock)
  • používání "mrtvých kláves" (klávesa resp. kombinace kláves sama o sobě nevloží znak, pouze ovlivní další vkládaný znak)
  • klávesy určené pouze pro tvorbu kombinací (viz výše) samy znak nevkládají
  • objevuje se potřeba vložit i znaky na klávesnici neobsažené

V počátečních obdobích vývoje X Window Systemu se s řadou těchto problémů nepočítalo - v angličtině např. nejsou zapotřebí mrtvé klávesy. Proto vznikala různá pomocná řešení, která byla bohužel šitá na míru konkrétním jazykům (např. češtině) a proto příliš neřešila potřeby ostatních jazyků. V dnešní době je už situace podstatně lepší a máme proto k dispozici relativně univerzální řešení přímo v rámci XFree86. Obsahuje řešení všech uvedených problémů, navíc další podporu přidávají nástroje window managerů.

Konfigurace klávesnice

Opět nejjednodušší situace nastává při nastavování v rámci instalačního procesu. Vybereme typ fyzické klávesnice (počet kláves apod.), určíme základní logické mapování (např. česká klávesnice, česká QWERTY, česká programátorská) a případně další logické klávesnice (typicky standardní americkou). Integrovaná prostředí správců oken umožňují snadné přepínání klávesnic a poskytují indikaci aktuálního mapování. Lze určit i chování LED indikátorů na klávesnici, kontextovou závislost přepínání klávesnic a mnoho dalšího.

Při konfiguraci prostřednictvím xf86config, XF86Setup nebo xf86cfg je to opět snadné. Zvolíme fyzickou a logickou klávesnici z nabízených variant a konfigurátory udělají patřičné záznamy do konfiguračního souboru.

Poslední možností je ruční úprava konfigurace. Vypadá zhruba takto:

Section "InputDevice"
    Identifier "Keyboard 1"
    Driver "keyboard"
    Option "AutoRepeat" "500 5"
    Option "XkbModel" "pc102"
    Option "XkbLayout" "cz"
EndSection

Opět okomentuji uvedený příklad. Jistě si každý všiml, že je velmi podobný tomu u konfigurace myší. Je to tak a je to velmi přínosná záležitost. U starších verzí XFree86 se používaly jiné konfigurační direktivy, klávesnice a myš se konfigurovaly odlišně. Nyní patří všechna vstupní zařízení do sekce InputDevice a liší se pouze použitým ovladačem (zde "keyboard") a nastavitelnými možnostmi. Položka AutoRepeat určuje zpoždění a kmitočet opakování znaku, položka XkbModel nastavuje fyzický model klávesnice a XkbLayout volí logickou klávesnici. Možných voleb je podstatně více, doporučuji nahlédnout do dokumentace k vaší verzi XFree86.

Co má řada položek společné, je úvodní Xkb v názvu. To je charakteristické pro (vypínatelné) rozšíření XKEYBOARD. Právě toto rozšíření je oním univerzálním prostředkem pro řešení různých problémů ohledně klávesnic. Pokud potřebujeme změnit mapování některé klávesy, můžeme použít program xmodmap. Poskytuje v této oblasti řadu možností, vhodných jak pro řešení ad hoc, tak i pro trvalou aplikaci např. do přihlašovacího skriptu. Bližší informace najdete v manuálu k programu xmodmap.

I když budete mít klávesnici správně nastavenu, určitě se setkáte s programy, ve kterých fungovat nebude. Proč? Příčiny mohou být (kromě případných programátorských chyb v programech) dvě: buď program požaduje data z klávesnice jako "surová" (nízkoúrovňová; bývá to např. u různých her), nebo pracuje s konkrétním kódováním dat (často pouze ASCII, tedy 0-127 dekadicky). S prvním případem nic nenaděláme (nízkoúrovňová práce s klávesnicí bývá kvůli zvýšení rychlosti), u druhého existují různé finty, jak ten který program přinutit spolupracovat (včetně aplikace patchů vyvinutých postiženými nešťastníky).

Dotykové obrazovky

Tato kategorie vstupních zařízení není příliš obvyklá, přesto však na ni můžeme narazit. Dotykové obrazovky najdeme hlavně u různých informačních kiosků, a protože se řešení podobných jednoúčelových přístrojů na základě GNU/Linuxu v poslední době objevuje čím dál častěji, budeme se pravděpodobně častěji setkávat i s dotykovými obrazovkami na Xfree86. Podobná situace se může objevit i u další podobné oblasti, a to jsou datové projektory se zpětnou vazbou (snímáním polohy určené laserovým ukazovátkem). Naopak světelná pera se neujala, takže je již nebudu zmiňovat (i když i ta by se dala v XFree86 zprovoznit!).

Konfigurace dotykových obrazovek

Aby dotyková obrazovka správně pracovala, musí být k dispozici příslušný ovladač (modul). U posledních verzí XFree86 najdeme ovladače pro obrazovky pro EloTouch, MicroTouch a MuTouch (příp. některé další, nutno ověřit pro konkrétní verzi). Máme-li ovladač, potom musíme ručně vytvořit sekci v konfiguračním souboru (konfigurační nástroje podporu neobsahují), např. takto:

Section "InputDevice"
    Identifier "TouchScreen"
    Driver "Elographics"
    Option "MinimumXPosition" "300"
    Option "MaximumXPosition" "2600"
    Option "MinimumYPosition" "300"
    Option "MaximumYPosition" "2600"
EndSection

Význam první dvě položky je jasný, další pak specifikují hodnoty pro vztah mezi pozicí dotykové obrazovky a stínítka obrazovky displeje. Tyto hodnoty závisí jak na konkrétním typu obrazovky, tak na použitém rozlišení. Správné hodnoty lze určit experimentálně nebo s použitím kalibračních nástrojů vytvořených k tomuto účelu (např. touchcal). Nesmíme ještě zapomenout, že ovladač pro dotykovou obrazovku musí být uveden v seznamu modulů, např.:

Section "Module"
    ...
    Load "elographics"
    ...
EndSection

Aby dotyková obrazovka převzala funkci polohovacího zařízení, musí se po startu jako polohovací zařízení nastavit: xsetpointer TouchScreen (název zařízení musí odpovídat identifikátoru v souboru XF86Config).

Ostatní vstupní zařízení

Sem patří rozsáhlá množina jiných zařízení, která by pro použití s X připadala v úvahu. Z nejčastějších lze jmenovat např. tablet a digitizér. Tato zařízení se konfigurují podobně jako myši a dotykové obrazovky ("od každého něco"). Bohužel nemám zkušenosti s instalací takových zařízení do XFree86, takže bližší informace poskytnout nemohu. Velice pravděpodobně pro některá z těchto zařízení existují ovladače pro XFree a proto by neměl být problém je zprovoznit.

Velké sjednocení

Sjednocení přístupu ke vstupním zařízením, ke kterému došlo v X serveru ve verzi 4, výrazně zjednodušilo konfiguraci těchto zařízení. Kdo nakonfiguruje jedno zařízení, už by mu neměla činit problémy konfigurace něčeho jiného. Pro bližší informace opět odkazuji na dokumentaci k XFree86 a manuálové stránky jednotlivých programů.

Příště bude na programu zajímavá oblast systému X - multimediální funkce. Tato oblast v poslední době získává na významu a posiluje význam X jako (nejen) pracovního prostředí.

Další části seriálu:

Autor: Lukáš Jelínek, 25. 02. 2003, 00:00
Sekce Hardware, Komentářů: 7
Průměrné hodnocení: 2,96

o Poslat e-mailem
o Tisk článku
o Uložit do profilu


 Přispějte nám




Líbil se Vám tento článek? Můžete ho ocenit zavoláním na tel. číslo 906 460 134.
Cena hovoru za 1 minutu je 46 Kč.





 Hodnocení článku




Článek hodnotím jako:  [1] výborný   [2] dobrý   [3] průměr   [4] špatný   [5] hrůza  





 Komentáře




--

dave, 10. 03. 2003 23:43
pridavna tlacitka na mysi?












--

Lukáš Jelínek, 26. 02. 2003 10:23
RE: Soucasne pouzivani dvou mysi












--

Lukáš Jelínek, 26. 02. 2003 10:14
Re: A co dvoukoleckova mys ?












--

Petr, 25. 02. 2003 10:15
RE: RE: Soucasne pouzivani dvou mysi












--

Frn, 25. 02. 2003 08:18
Soucasne pouzivani dvou mysi












--

Frn, 25. 02. 2003 08:12
A co dvoukoleckova mys ?












--

Petr, 25. 02. 2003 08:06
Soucasne pouzivani dvou mysi















PŘIDAT KOMENTÁŘ ZOBRAZ VŠE >>










2002 © Impossible, s.r.o.   >> Kontaktujte redakci >> Právní upozornění >> Reklama