abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Sledujte AbcLinuxu.cz na:
facebook favicon logo  Facebooku twitter favicon logo  Twitteru,   identi.ca favicon logo  Identi.ca,   rss logo  RSS
Rozšířené hledání
×
dnes 00:12 | Nová verze
Vyšla nová vanilla linuxová jádra 3.0.20 a 3.2.5. Přidán byl jediný patch, který upravuje nastavení ASPM (Active State Power Management) a tím snižuje spotřebu linuxového jádra. Posouzení nutnosti aktualizace nechává Greg Kroah-Hartman tentokrát na uživatelích.
Ladislav Hagara | Komentářů: 5
včera 22:56 | Nová verze
V Beta Channel se objevil Firefox 11 přinášející zajímavé novinky. Vylepšený Migration Tool nově umožňuje import informací i z prohlížeče Google Chrome, Firefox Sync zase (skrze Add-on Sync) synchronizaci doplňků mezi různými instalacemi Firefoxu. Přibyla i podpora protokolu SPDY. Vývojáře bude zajímat především nový 3D Web Inspector, který vznikl implementací rozšíření Tilt.
Migilenik | Komentářů: 0
včera 22:38 | Zajímavý článek
Druhá doména v cyrilici v provozu je název blogspotu Ondřeje Filipa z CZ.NIC, ve kterém upozorňuje na vznik domény .СРБ. Ta patří Srbsku (vedle .rs) a funguje od 27. ledna. „Srbové mají s převody mezi latinkou a cyrilicí poměrně bohaté zkušenosti z jejich soužití s Chorvaty, takže hledání převodních pravidel nebylo nijak komplikované. Naopak bylo složité najít správnou doménu, jež by je reprezentovala. Díky tomu, že cyrilice je příliš … více »
Vilem Sladek | Komentářů: 3
včera 21:37 | Upozornění
Přesně před rokem, 6. února 2011, vyšel Debian 6.0 Squeeze. Pro jeho předchůdce Debian 5.0 Lenny to tedy znamená ukončení podpory. Pokud jste tak ještě neučinili, upgradujte. Žádné další aktualizace pro Lennyho již nebudou vydávány.
Migilenik | Komentářů: 0
včera 21:36 | Nová verze
Po více než dvou letech vývoje vyšla nová stabilní verze tahové strategie Bitva o Wesnoth s označením 1.10. Toto vydání s sebou přináší nové mapy, animace, jednotky, grafické plánování útoků a mnohé další. Stahovat lze z obvyklé adresy.
xkomczax | Komentářů: 0
včera 21:34 | Pozvánky
KDE 4.8 je již venku, tak bychom vás rádi pozvali na release party! Ta se uskuteční v pátek 24. února v pražské pobočce SUSE. Začíná se v pět odpoledne. Na co se můžete těšit? Jak už to tak bývá, k dispozici budou propagační předměty KDE a openSUSE. O KDE se více dozvíte v několik přednáškách. Pít bude co a bude i KDE dort! Pokud stále ještě KDE 4.X nedůvěřujete, bude na místě možné získat KDE 4.8 live CD a můžete se tak sami přesvědčit, jaký pokrok KDE za posledních pár let udělalo! Více informací na v oznámení.
Miška | Komentářů: 13
včera 12:55 | Pozvánky
V sobotu 11. února se koná celosvětový den proti ACTA. Podle rozcestníku se budou konat protestní happeningy i v některých krajských městech ČR.
Fill | Komentářů: 28
včera 11:19 | Zajímavý software
Jako open source software vydal CZ.NIC novou webovou aplikaci pro správu hrozeb spojených se systémem DNS – Malicious Domain Manager. … více »
Vilem Sladek | Komentářů: 0
5.2. 13:47 | Komunita
Phoronix shrnuje prezentaci Intelu o budoucnosti jeho linuxových grafických ovladačů. Mezi hlavními tématy současné i budoucí práce jsou výkonostní vylepšení, stabilita, MSAA či Glamor a SNA jako budoucí náhrada UXA.
Nicky726 | Komentářů: 20
4.2. 21:00 | Nová verze
Vyšla nová verze programu RSS Guard 1.1.0. RSS Guard je jednoduchá a nenáročná čtečka RSS i Atom kanálů. Poslední verze přináší například konverzi html názvů kanálů, překlad do dánštiny nebo základní autentizaci pro Atom kanály z gmailu či podporu pro HTTP přesměrování.
skunkOS | Komentářů: 7
Servery pro sdílení souborů (typu MegaUpload)
 (40%)
 (50%)
 (11%)
Celkem 453 hlasů
 Komentářů: 28, poslední dnes 01:30
Rozcestník
Reklama
Autoškola testy online Levný benzín

Konfigurace multimediální klávesnice v X

20. 4. 2006 | Jiří Mlíka | Návody | 15302×

V následujících několika řádcích přiblížím konfiguraci multimediálních (a jinak vylepšených) klávesnic způsobem, který považuji za systémový: mapování keycodů na symboly.

Úvod

Konfigurace "přídavných" tlačítek na klávesnici je evergreen, který se táhne různými články a návody minimálně od doby, kdy na běžné PC klávesnice přibyly tři podivné klávesy (dvě s logem jakéhosi operačního systému, třetí s obrázkem menu). Pamatuji si své nadšení, když se mi po stisku jedné z takových záhadných kláves rozbalilo hlavní menu v KDE. Od těchto dávných dob přibyla na klávesnice spousta dalších tlačítek pro ovládání médií, webového prohlížeče, případně pro spouštění kancelářských programů. Nechat je bez využití by bylo ostudou pro každého správného linuxového geeka.

Svoje první experimenty s rozšiřujícími klávesami jsem prováděl podle výborného článku Multimediální a jinak vylepšené klávesnice pana Zdeňka Štěpánka. S dosaženými úspěchy jsem byl plně spokojen. Existuje však způsob, jak celou věc provést elegantněji a uživatelsky přívětivěji. Dokonce je zde možnost přispět do X.Org i pro neprogramátory, a ulehčit tak život technicky méně zdatným uživatelům.

Přiznám se, že nejsem odborníkem na X keyboard extension (xkb), nicméně metodou pokus-omyl jsem dosáhl úspěchu, o který bych se rád podělil se čtenáři abclinuxu.cz. Předpokládám, že experti na tuto problematiku neopomenou v diskuzi pod článkem opravit všechny moje diletantské chyby v terminologii a vůbec v chápání celého systému.

Řešení

Řešení spočívá v mapování tzv. keycodes na symboly (keysym). Když si odpustím nudnou teorii o scankódech a nebudu se zatěžovat detaily práce s klávesnici v XFree86/X.Org a jeho subsystémech, mohu drze prohlásit, že keycode je hodnota vygenerovaná při stisku klávesy. Tato hodnota je předmětem dalšího zpracování, na jehož výstupu je symbol (keysym), který je poslán aplikaci. Sestavením tabulky mapující keycody na symboly dosáhneme podpory pro rozšiřující klávesy.

Ti, kdo četli zmíněný článek, nebo jsou jinak poučeni o celé problematice, vědí, že keycody jednotlivých rozšiřujících kláves zjistíme programem xev. Symboly pro "multimediální" klávesnice nalezneme v souboru /usr/X11R6/lib/X11/XKeysymDB, jak radí v diskusi pod článkem Petr Ferschmann. Já jsem svoje experimenty prováděl s klávesnicí Genius Twintouch Optical Office. Popiskám kláves na této klávesnici odpovídají následující symboly:

XF86Search,
XF86AudioMedia,
XF86WWW,
XF86AudioPrev,
XF86AudioNext,
XF86AudioMute,
XF86Calculator,
XF86AudioPlay,
XF86AudioPause,
XF86AudioStop,
XF86AudioLowerVolume,
XF86AudioRaiseVolume,
XF86Sleep,
XF86Favorites,
XF86Refresh,
XF86Stop,
XF86Forward,
XF86Back,
XF86Mail,
XF86MyComputer

Mapování keycodů na symboly najdeme v adresáři /etc/X11/xkb/symbols. Mapování pro "multimediální" klávesnice pak v souboru /etc/X11/xkb/symbols/inet. Pro svoji klávesnici jsem doplnil následující sekci:

...
// Genius Wireless Twintouch Optical Office
partial alphanumeric_keys
xkb_symbols "geniustwintouch" {

    key <FK17>  {      [ XF86Search                    ]     };
    key <I01>   {      [ XF86AudioMedia                ]     };
    key <I02>   {      [ XF86WWW                       ]     };
    key <I10>   {      [ XF86AudioPrev                 ]     };
    key <I19>   {      [ XF86AudioNext                 ]     };
    key <I20>   {      [ XF86AudioMute                 ]     };
    key <I21>   {      [ XF86Calculator                ]     };
    key <I22>   {      [ XF86AudioPlay, XF86AudioPause ]     };
    key <I24>   {      [ XF86AudioStop                 ]     };
    key <I2E>   {      [ XF86AudioLowerVolume          ]     };
    key <I30>   {      [ XF86AudioRaiseVolume          ]     };
    key <I5F>   {      [ XF86Sleep                     ]     };
    key <I66>   {      [ XF86Favorites                 ]     };
    key <I67>   {      [ XF86Refresh                   ]     };
    key <I68>   {      [ XF86Stop                      ]     };
    key <I69>   {      [ XF86Forward                   ]     };
    key <I6A>   {      [ XF86Back                      ]     };
    key <I6C>   {      [ XF86Mail                      ]     };
    key <K67>   {      [ XF86MyComputer                ]     };
};
...

Keycody se zapisují ve formě vyjadřující jejich relativní pozici na klávesnici (podivné kódy v ostrých závorkách za klíčovým slovem key). Alespoň tak tvrdí popis v souboru /etc/X11/xkb/README.enhancing. To je poměrně nepříjemné, protože program xev vrací v položce označené keycode jinou hodnotu. Po troše pátrání jsem přišel na to, že hodnoty vrácené programem xev jsou mapovány na kýžené keycody (resp. formát vhodný pro mapování na symboly) v souboru /etc/X11/xkb/keycodes/xfree86. Všimněte si položky xkb_symbols. Její hodnotu (v mém případě jsem si vymyslel geniustwintouch) použijeme jako identifikátor modelu klávesnice v souboru /etc/X11/XF86Config (položka XkbModel).

...
Section "InputDevice"
    Option         "XkbModel" "geniustwintouch"
    Identifier     "Keyboard1"
    Driver         "keyboard"
    Option         "XkbLayout" "cz"
    Option         "XkbOptions" "compose:rwin"
EndSection
...

Než tak učiníme, musíme ještě hodnotu xkb_symbols zapsat do souboru /etc/X11/xkb/rules/xfree86 (resp. /etc/X11/xkb/rules/xorg).

...
! $inetkbds = a4techKB21 a4techKBS8 acer_tm_800 acpi airkey azonaRF2300 \
              brother \
              btc5113rf btc5126t btc9000 btc9000a btc9001ah btc5090\
              cherryblue cherrybluea cherryblueb \
              chicony chicony9885 \
              compaqeak8 compaqik7 compaqik13 compaqik18 cymotionlinux \
              armada presario ipaq \
              dell inspiron dtk2000 \
              dexxa diamond genius geniuscomfy2 geniustwintouch \
              ennyah_dkb1008 gyration \
              hpi6 hp2501 hp2505 hp5181 hpxe3gc hpxe3gf hpxe4xxx hpzt11xx \
              hp500fa hp5xx hp5185 \
              honeywell_euroboard \
              rapidaccess rapidaccess2 rapidaccess2a \
              ltcd logiaccess logicdp logicdpa logicdit logicink logiciink \
              logiinkse logiinkseusb logiitc logiik itouch logiultrax \
              mx1998 mx2500 mx2750 \
              microsoftinet microsoftpro microsoftprousb microsoftprooem microsoftprose \
              microsoftoffice microsoftmult \
              oretec \
              propeller scorpius \
              qtronix \
              samsung4500 samsung4510 \
              sk1300 sk2500 sk6200 sk7100 sp_inet \
              sven symplon toshiba_s3000 trust trustda yahoo
...

Nyní můžeme začít používat rozšiřující klávesy v aplikacích.

Snadná konfigurovatelnost

Chceme-li splnit předsevzetí maximální uživatelské přívětivosti, měli bychom umožnit uživateli, který nic netuší o nějakém souboru /etc/X11/XF86Config, aby si "naklikal" model klávesnice například přímo v KDE (viz obrázek).

konfigurace v KDE multimedialni-klavesnice-kxkb

K tomu však musíme ještě upravit soubor /etc/X11/xkb/rules/xfree86.lst (resp. /etc/X11/xkb/rules/xorg.lst).

...
  dtk2000         DTK2000
  ennyah_dkb1008  Ennyah DKB-1008
  genius          Genius Comfy KB-16M / Genius MM Keyboard KWD-910
  geniuscomfy2    Genius Comfy KB-21e-Scroll
  geniustwintouch Genius Wireless TwinTouch Optical Office
  gyration        Gyration
  hpi6            Hewlett-Packard Internet Keyboard
  hp2501          Hewlett-Packard SK-2501 Multimedia Keyboard
  hp2505          Hewlett-Packard SK-2505 Internet Keyboard
...

Závěr

Pokud někdo očekával, že se z článku dozví, jak celá věc funguje, pravděpodobně jsem jej zklamal. Musím se přiznat, že nevím. Nicméně jsem přišel na fungující postup, jak celou věc nakonfigurovat. Věřím, že není daleko doba, kdy se tímto postupem nebudu muset zabývat. Nově zakoupenou supermoderní klávesnici s fůrou tlačítek na ovládání všeho možního si prostě vyberu v nějakém grafickém konfiguračním nástroji. Svoji úpravu souboru /etc/X11/xkb/symbols/inet zasílám autorům X.Org. Majitelé multimediálních klávesnic celého světa, spojte se!

       

Hodnocení: 83 %

        špatnédobré        

Nástroje: Tisk bez diskuse

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

20.4.2006 02:26 mrzout | skóre: 11 | blog: mrzutej
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
Musím se přiznat, že já postupoval tou klikací cestou. A stejně jsem od té doby využil jen ovládání Amaroku.
Hlasuj pro zavedení OpenID na Abclinuxu!
20.4.2006 06:33 tomas84 | skóre: 30
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
Nic nového pod sluncem.

Uživatelsky přívětivější je podle mě program lineakd, který má navíc i OSD.
20.4.2006 08:45 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
LineakD neni reseni, je to krajne nesystemove.

Zdenek
www.ceskapiratskastrana.cz - s piráty do parlamentu www.gavanet.org - czfree varnsdorf
David Watzke avatar 20.4.2006 13:58 David Watzke | skóre: 73 | blog: Blog... | Silicon Hell
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
LineakD je řešení.
www.Watzke.cz ... a nově (opět) i blog.Watzke.cz
20.4.2006 14:07 Robert Krátký | skóre: 94 | blog: Robertův bloček | Praha
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
Omyl. Je to utilitka, která poslouží, ale problém nevyřeší. Jako když si vezmeš prášek proti bolesti, protože tě tlačí kámen v botě. Autor článku popisuje způsob, jak zařídit, aby klávesnici podporoval X server bez jakýchkoliv pomocných programů.
David Watzke avatar 20.4.2006 14:28 David Watzke | skóre: 73 | blog: Blog... | Silicon Hell
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
Problém nevyřeší? Klávesy potom fungují, jak by jeden čekal, tak... ?
Autor článku popisuje způsob, jak zařídit, aby klávesnici podporoval X server bez jakýchkoliv pomocných programů.
O tom nepochybuju a netvrdil jsem, že Lineak je lepší, nebo dokonce systémovější...
www.Watzke.cz ... a nově (opět) i blog.Watzke.cz
20.4.2006 14:48 Robert Krátký | skóre: 94 | blog: Robertův bloček | Praha
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
Problém nevyřeší?
Ne. Pouze obejde.
Uživateli je jedno, JAK se to vyřeší, ať si guru plácá, jak je to nesystémové a špinavé, uživateli to funguje a víc neřeší. To je jako s validními stránkami - když to i přes nedostatky funguje ve všech prohlížečích, uživatel nemá důvod si stěžovat...
22.4.2006 18:29 Robert Krátký | skóre: 94 | blog: Robertův bloček | Praha
Rozbalit Rozbalit vše Re: HM
20.4.2006 14:12 tomas84 | skóre: 30
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
Nesystémové to možná je, ale když to funguje, uživatele to vůbec nemusí zajímat.

Pokud by v článku popsané konfigurační soubory obsahovaly tyhle záznamy automaticky, tak bych to taky používal „systémově”. Pro mě je ale hlavní to, že lineakd je nainstalovaný a nastavený za 2 minuty a a nemusím přečíst ani jeden manuál.

Abych hledal nějaké scandocody a keycody, spouštěl nějaké programy a potom ještě editoval obrovské soubory, když to může vyřešit takovýto jednoduchý konfigurák? Nevím jak Vy, ale já můžu čas využít rozhodně lépe;-)
CdromDevice = /dev/cdrom
Display_align = center
Display_color = 0aff00
Display_font = -adobe-helvetica-bold-r-normal-*-*-240-*-*-p-*-*-*
Display_hoffset = 0
Display_plugin = xosd
Display_pos = bottom
Display_soffset = 1
Display_timeout = 3
Display_voffset = 50
KeyboardType = LTCDE-YRQ57
MixerDevice = /dev/mixer
RAWCommands =
Screensaver =
conffilename = /home/tomas/.lineak/lineakd.conf
keystate_capslock =
keystate_numlock =
keystate_scrolllock =

AudioLowerVolume = "aumix -w -3"
AudioMute = "~/.lineak/mute"
AudioRaiseVolume = "aumix -w +3"
Back =
Calculator = "kcalc"
Mail = "kmail"
WWW = "firefox"
20.4.2006 14:48 Robert Krátký | skóre: 94 | blog: Robertův bloček | Praha
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
Stačí, když si jediný uživatel nové klávesnice dá tu práci (jako autor článku) a od té doby budou moci danou klávesnici používat všichni - bez nastavování i bez pomocných programů.
20.4.2006 15:16 tomas84 | skóre: 30
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
Tohle je mi jasné. Kdybych byl správce nějakého multiuživatelského stroje, asi bych si tu práci dal. Ale na domácím desktopu, který používám jen já, je lineakd jasná volba.
20.4.2006 15:34 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
Bylo to mysleno jinak: prvni uzivatel, ktery si tu praci da a zasle ji vyvojarum xorg, zajisti, ze od dalsiho releasu bude klavesnice fungovat vsem. A o tom je open source :-)
Zakladatel tohoto portálu. Twitter, LinkedIn
21.4.2006 13:54 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
o tom sice open source je, no smola je v tom, ze kazda klavesnica ma tie extra klavesy kodovane inak (a casto i od toho isteho vyrobcu). v konecnom dosledku uzivatel musi vediet, co to vlastne ma, nema cd-cko, ktore strci do mechaniky, nieco mu to tam porobi, a zrazu vsetko funguje.
20.4.2006 18:38 Spike | skóre: 29 | blog: Communicator | Praha
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
Škoda, že to nestačí. ^_~
20.4.2006 19:32 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
No ja se priznam ze jsem na jednom kompu lineakd zkousel, ocekavajice, ze zmacknu klavesu a ono mi to dovoli k ni priradit nejaky program nebo akci.

Neco jakz takz mozna fungovalo, ale rozhodne nemuzu rict ze jsme to donutil ke spolupraci a ze bych s tim byl spokojeny.

Navic mi to zabralo ikonu v trayi, to mi pripomelo wokynkari co si meri sve ego poctem nesmyslnych ikon v trayi.

Zdenek
www.ceskapiratskastrana.cz - s piráty do parlamentu www.gavanet.org - czfree varnsdorf
20.4.2006 20:11 tomas84 | skóre: 30
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
Člověče, můj lineakd (Debian Etch) nemá žádné grafické rozhraní (tedy kromě použítého osd) ani dock ikonu.

Jenom jsem vytvořil konfigurák, tuším nějak takto lineakd --create typ-klavesnice (viz man) a potom jsem připsal akce k jednotlivým tlačítkům.
21.4.2006 23:12 Jiří Hlinka | skóre: 29 | blog: zapisky | Teplice
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
IMHO pletete dohromady dva různé programy:
linEAK - ten zajišťuje funkční spojení "multimediální" klávesy a příslušné akce, běží jako démon (lineakd)
KlinEAK - grafická nadstavba pro linEAK, ve které se dá pohodlně naklikat nastavení (a zabírá ikonku v trayi), ale pro vlastní funkčnost není potřeba.
pit0 avatar 20.4.2006 09:04 pit0 | skóre: 8
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
Mna by skor zaujimalo ako na mojej klavesninici po stlaceni Tlacitka s vypinacom vypnem PC! Skusal som nastavit klavesove skrtaky v KDE ale ked som prikazu poweroff chcel piradit klavesovu skratku "Fn+PowerOff" tak nic nenasnimalo. Viete niekto ako na to?
20.4.2006 09:51 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
A xev tu tvoji klavesu pozna jako PowerOff? Nejprve se ta klavesa musi nejak hlasit (musi mit prirazeny symbol), az pak jde pouzit jako klavesova zkratka.

Zdenek
www.ceskapiratskastrana.cz - s piráty do parlamentu www.gavanet.org - czfree varnsdorf
pit0 avatar 20.4.2006 10:39 pit0 | skóre: 8
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
Praveze to nie. To som len ja tak popisal tu klavesu pri ktorej zmacknuti pod win sa vypne PC. To iste by som chcel aj pod lin, kedze som uz definitivne presedlal na suse, z niektorych zvykov klavesovych skartiek sa tazko odvyka ako napr. vypinanie spomenutou klavesou...
20.4.2006 12:14 Honza Jaroš | skóre: 4 | Bohnice
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
Mrknul bych se spíš po nastavení acpid, tyhle klávesy obvykle vytvářejí události pro ACPI.
stativ avatar 20.4.2006 15:18 stativ | skóre: 53 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
co zkusit xbindkeys?
Ať sežeru elfa i s chlupama!!! stativ.kx.cz
20.4.2006 09:49 Pavel_K | skóre: 15
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
Osobně se mi tu tento článek zdá zbytečný. Nehledě na to, že v článku je odkaz na již dřívější článek, který je imho výstižnější. P.S.: pokračování "seriálu" Cesta do hlubin kompilace jádra ... už v plánu asi není, že?

Pavel_K
20.4.2006 10:18 Robert Krátký | skóre: 94 | blog: Robertův bloček | Praha
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
Nehledě na to, že v článku je odkaz na již dřívější článek, který je imho výstižnější.
Oba články ale popisují jiný postup. Tentokrát jde o přidání definice nové klávesnice přímo do X, což je sice možná trochu namáhavější, ale taková definice pak už v systému zůstane budou ji moci použít i další uživatelé X.
pokračování "seriálu" Cesta do hlubin kompilace jádra ... už v plánu asi není, že?
Zatím to nevypadá, že by mohlo vyjít další pokračování. Bohužel jsem se s autorem seriálu neshodl na důležitých věcech, takže jsme vydávání museli přerušit. Pokud by se však našel někdo, kdo by chtěl navázat, ať se mi ozve.
MaT avatar 20.4.2006 11:22 MaT | skóre: 25
Rozbalit Rozbalit vše A co mimo X?
Mě by spíš zajímalo, jak třeba u notebooku, který má taková speciální tlačítka na ovládání hlasitosti zajistit, aby se ta hlasitost dala regulovat třeba i bez běžících X... V X to řeším přibližně tak, jak je popsáno v článku (v openboxu mám pak na XF86Audio... nabindován alsamixer s odpovídajícími parametry). Ale co v konzoli? Nebo prostě než naběhne X server?
Open source software for open minded people. :-)
20.4.2006 22:54 koloom | skóre: 13
Rozbalit Rozbalit vše Re: A co mimo X?
Ty specialni cudly na notebooku (Fn + F..) jdou vetsinou pres acpi. Nainstaluj si acpid a udelej si podobny konfiguraky (ty cisla se mohou lisit podle modelu, tak si je nejdriv zjisti z /var/log/acpid).
$ cat /etc/acpi/events/hotkey
event=hotkey ATKD .*
action=/etc/acpi/actions/hotkey.sh %e

$ cat /etc/acpi/actions/hotkey.sh
#!/bin/bash

case "$3" in
        # Mute button
        00000032)
                amixer sset Front,0 toggle
                amixer sset Surround,0 toggle
                amixer sset Center,0 toggle
                amixer sset LFE,0 toggle
                ;;
        # Volume up button
        00000030)
                amixer sset PCM,0 15+
                ;;
        # Volume down button
        00000031)
                amixer sset PCM,0 15-
                ;;
        *)
                logger "ACPI hotkey $3 is not defined"
                ;;
esac
MaT avatar 22.4.2006 17:56 MaT | skóre: 25
Rozbalit Rozbalit vše Re: A co mimo X?
Díky za tip, ale asi to nebude ta správná cesta. Jediné, co mi vygeneruje ACPI event, je LID switch (když ze zavře displej). Některá tlačítka, co jsou přes Fn+něco generují normální kódy kláves - které se dají namapovat na ty názvy (XF86WebBrowser...). Ta tlačítka na volume nejsou jako Fn+něco, jsou to normální samostatná tlačítka - akorát že po straně notebooku (poblíž jack zdířek pro sluchátka a mikrofon). Ať je mačkám, jak je mačkám, v ACPI logu nic negenerují... Je šance, mít na obyčejné klávesy generované nějaké klávesové zkratky i mimo X-Windows? V Xkách na to používám nastavení window manageru (Openbox), v minulosti jsem používal i xbindkeys. Ale co v konzoli?

Jinak notebook je Compaq/HP nx9105...
Open source software for open minded people. :-)
22.4.2006 20:26 tomas84 | skóre: 30
Rozbalit Rozbalit vše Re: A co mimo X?
Na mém ASUSu je na to speciální modul asus_acpi v balíku acpi4asus. Zkuste googlit, určitě něco bude i na Compaq.
20.4.2006 12:00 Stanislav Brabec | skóre: 45
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
V Linuxu 2.6 ovšem Vámi popsaný postup nmusí vždy fungovat, protože X nerozumí subsystému klávesnic v jádře. Funguje to asi takto:

Klávesnice pošle scancode => kernel vytvoří keycode => kernel vytvoří symbol => kernel emuluje Microsoft Multimedia Keyboard => kernel emuluje AT scancode => X interpretují scancode => X vytvoří keycode => X nahlížejí do tabulky multimediálních klávesníc => X generují symbol

Je jasné, že to dost často selže. Dokud však X nebudou obsahovat ovladač klávesnice pro Linux 2.6, nelze postupovat lépe.

V budoucnu by to mělo fungovat takto:

Klávesnice pošle scancode => kernel vytvoří keycode => kernel vytvoří symbol => X generují symbol

Více viz např.: https://bugzilla.novell.com/show_bug.cgi?id=159807
hajma avatar 20.4.2006 22:42 hajma | skóre: 27 | blog: hajma | Říčany
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
Více viz např.: https://bugzilla.novell.com/show_bug.cgi?id=159807
Access Denied You are not authorized to access bug #159807. To see this bug, you must first log in to an account with the appropriate permissions.

novell sucks
21 promarněných znaků
24.4.2006 17:48 Stanislav Brabec | skóre: 45
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
Zde je kopie důležité části:
The main part of the problem is now in Xorg.

GNOME knows XF86RaiseVolume and XF86LowerVolume key IDs (if enabled), but Xorg
does not understand extended keyboard kernel codes (kernel 2.6).

Kernel has to emulate AT keyboard for X. Kernel tries hard to emulate Microsoft
Multimedia Keyboard for X and X tries to interpret this emulation by a keyboard
map in the /etc/X11/xkb/symbols/inet. It fails for many keyboards.

This old design was optimized for AT keyboards only and kernel 2.4 and cannot
work in 2.6 properly. In particular cases, definition of a new hot key in GNOME
control center causes hang of keyboard due to keycode conflict.

To fix this situation, X must accept keys with codes above 240 or, in the best
case, directly use key names recognized by kernel.
20.4.2006 19:25 victor8 | skóre: 21 | blog: Victorov blog | Košice
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
Hmmm... Postupoval som presne podla clanku, ale Gnome to stale nepochopilo. Nasiel a zeditoval som este aj /etc/X11/xkb/rules/xorg.xml, ale stale nic.

Netusi niekto, ako Gnome presvedcit, ze tu klavesnicu pozna?

Relevantna sekcia z xorg.conf:
Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option      "XkbRules"   "xorg"
        Option      "XkbModel"   "a4tech_2348rp"
#       Option      "XkbLayout"  "us,sk"
#       Option      "XkbVariant" ",qwerty"
#       Option      "XkbOptions" "grp:Alt_shift_toggle"
EndSection
(skusal som to s aj bez zakomentovnych riadkov)
20.4.2006 20:27 nardew | skóre: 5
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
myslim ze co sa ma tykat funkcnosti, tak VELMI dobry clanok, lebo presne toto som potreboval, rozchodit si mult. klavesy nejakou systemovou cestou, takze dik za clanok... ale mozno na druhej strane by som uvital, keby niekedy vysiel clanok, kde by bola podrobne popisana teoria ako to vlastne vsetko spolu funguje...
the best way of Memtest is emerge qt kde-meta
20.4.2006 21:12 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
ten muj nestacil? uplnou teorii pro programatory neznam, ale principy jsem tam napsal.

pro detailnejsi informace se poohlidni na xorg.conf

zdenek
www.ceskapiratskastrana.cz - s piráty do parlamentu www.gavanet.org - czfree varnsdorf
20.4.2006 21:52 nardew | skóre: 5
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
no co sa tyka teorie tychto modelov klavesnic a tych setkych moznych suborov v /etc/X11/xkb/*, tak nie je mi vsetko jasne ani z jedneho z clankov...

co sa tyka Xiek, tak viac sa mi paci ako to je riesene v tomto clanku, lebo je to bez potreby dalsieho daemona..

co sa tyka multiemdialnych klaves pre konzolu, tak k vasmu clanku nemam co dodat, lebo setko bolo napisane zrozumitelne a bolo tam aj popisane ako to "funguje"

teda nexcem vraviet ktory clanok je lepsi(lebo v tomto pripade sa to ani neda), ale kady si najde v oboch to co potrebuje... v kazdom pripade velka vdaka obom autorom
the best way of Memtest is emerge qt kde-meta
tmr avatar 21.4.2006 09:13 tmr | skóre: 17 | blog: Offtopic | Praha 5
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
Super programek s GUI je keyTouch. Pouziva ho nekdo?
tpikalek avatar 21.4.2006 16:07 tpikalek | skóre: 20 | blog: tpikalek | Spešov
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
Ano, to je skvělý prográmek, který mě ušetřil tuhle zdlouhavou manuální konfiguraci. Je v něm spousta driverů na nejrůznější klávesnice. Podařilo se mě přez něj zprovoznit všechny tlačítka na Logitech LX700, dokonce lépe něž přez originální soft pro Win (jsou tam lepší možnosti nastavení jednotlivých kláves)
23.4.2006 12:05 Berik | skóre: 23 | blog: bg
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
Podařilo se mi celou klávesnici (Logitech Cordless Desktop Pro) nastavit. Musel jsem ale řešit problém s nefunkčností jedné klávesy namapované jako na XF86AudioRaiseVolume. V souboru inet jsem zjistil, že je tato programovatelná klavesa nadefinovaná dvakrát:
xkb_symbols "logitech_base" {
    ...
    key <I2F> { [ XF86AudioRaiseVolume ] };
    key <I30> { [ XF86AudioRaiseVolume ] };
    ...
}
V mém připadě je ten správný key I30 a ten nesprávný jsem zakomentoval.
1.5.2006 20:32 Pihhan | skóre: 11
Rozbalit Rozbalit vše Multimedíální hlodavec aneb hlasitost na myši
Poslušně hlásím, že rozložení pro Genius klávesnici popsané v tomto článku se dá bez potíží použít i na moji myš Genius NetScrool+ Wireless. Má to 10 čudlíků, z toho 4 jsou přes HID mapovány jako keykódy.

Já si to tvořil jako:
partial alphanumeric_keys
xkb_symbols "geniusns" {
        // This USB mouse uses HID mapping for some keys on it
        // as keyboard keys. With use of ExplorerPS/2 driver you
        // can have most buttons working. There is one
        // not sending keycode nor mouse button - desktop showing
        // made by Petr Mensik pihhan(at)cipis.net.
    name[Group1]= "Genius NetScrool+ Superior Mouse";

    key <I2E>   {       [ XF86AudioRaiseVolume  ]       };
    key <I30>   {       [ XF86AudioLowerVolume  ]       };
    key <I02>   {       [ XF86WWW, XF86Mail     ]       };
    key <I22>   {       [ XF86AudioPlay, XF86AudioPause ]       };

};
Ty co to obsahuje jsou stejné jako uvedené v článku u klávesnice. Akorát moc nechápu, proč samotný Genius nemůže mít jednotné kódy. Momentálně už jsem natrefil na 3. druh rozložení, a to mám na svojí myši jenom 4 funkční čudly s keykódy, takže by se to mělo obvykle shodovat. I02 ten mail jsem si přidal jako extra, ne že bych to někdy využil.

Máte někdo další myš s multimediálními tlačítky? funguje vám to nějak? Musím říct že aspoň ve WMP to fungovalo bez instalace driveru, v Debianu to rozchodit byl celkem porod. Hlavně už blbé je to, že většinou to nikde není předvoleno.

Nevíte jak moc jsou linuxy schopné detekovat automaticky USB myši i s jejich rozšířeními? Mám sice debian, který není tak moc zaměřený na desktop, ale stejně mám za to, že to je s automatickou detekcí myši i s využitím případných featur špatné.
5.8.2006 14:25 JVr
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
Protože sem tupej a nevim kam tu konfiguraci poslat tak to pošlu aspoň sem :D
// Labtec Internet Keyboard
partial alphanumeric_keys
xkb_symbols "labtecinternet" {
    key <I5F>	{	[ XF86Sleep			]	};
    key <I22>	{	[ XF86AudioPlay, XF86AudioPause	]	};
    key <I24>	{	[ XF86AudioStop			]	};
    key <I10>	{	[ XF86AudioPrev			]	};
    key <I19>	{	[ XF86AudioNext			]	};
    key <I20>	{	[ XF86AudioMute			]	};
    key <I2E>	{	[ XF86AudioLowerVolume		]	};
    key <I30>	{	[ XF86AudioRaiseVolume		]	};
    key <I32>	{	[ XF86WWW			]	};
    key <I6C>	{	[ XF86Mail			]	};
    key <I65>	{	[ XF86Search			]	};
    key <I66>	{	[ XF86MyComputer		]	};
};
Je to celkem slušná a levná klávesnice (voděodolná :D)
6.10.2006 13:52 gorgo | skóre: 10 | blog: denicek
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
JUCHUU, tak konecne=) Vyslo to tak na 2 hodky. Nejdriv jsem to zprovoznil podle puvodniho clanku pomoci xmodmap, ale rekl jsem si: "takova super klaveska, co kdyz si ji nejakej linuxak bude taky chtit koupit=)" Je nizkozdvihova a paradne ticha, ma 12 multimedialnich klaves a je pripojena pres usb.
Konfigurace:
// Genius SlimStar, USB
partial alphanumeric_keys
xkb_symbols "geniusslimstar" {
    key <I5F>	{	[ XF86Standby		]	};
    key <XFER>	{	[ XF86AudioMedia	]	};
    key <I22>	{	[ XF86AudioPlay, XF86AudioPause ] };
    key <I24>	{	[ XF86AudioStop		]	};
    key <I2E>	{	[ XF86AudioLowerVolume	]	};
    key <I30>	{	[ XF86AudioRaiseVolume	]	};
    key <I6A>	{	[ XF86Back		]	};
    key <I02>	{	[ XF86WWW		]	};
    key <I69>	{	[ XF86Forward		]	};
    key <I6C>	{	[ XF86Mail		]	};
    key <I21>	{	[ XF86Calculator	]	};
    key <K67>	{	[ XF86MyComputer	]	};
}
btw. nemohl by sem nekdo hodit email na nekoho kompetentniho z X.Org, komu poslat konfiguraci?
PS: v gentoo-cku ty soubory nejsou v /etc/X11/xkb/*, ale v /usr/share/X11/xkb/*, coz je podle meho logictejsi=)
20.11.2007 12:28 Silda
Rozbalit Rozbalit vše Chybka v předchozí definici
Pozor, za poslední složenou závorkou chybí středník.

Ať nestrávíte 3 dny jako já debugovaním a prolézáním zdrojových kódů :-(
6.6.2008 16:49 gorgo | skóre: 10 | blog: denicek
Rozbalit Rozbalit vše Re: Chybka v předchozí definici
omlouvam se=(

zatrest mi ted po update kernelu prestalo fungovat XF86WWW. divny, opravila to zmena key na <I32> namisto puvodniho <I02>
4.12.2006 18:50 wewek | Praha
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
ty multimedialni tlacitka je jiz prepych. mne totisto nejde klavesnice vubec :( mam notebook a k nemu pres USB pripojenu klavesnicu Genius SLIMSTAR. ale vubec nereaguje. ma nekto podobny problem? nebo dokonce reseni? mockrat dekuji!
15.2.2007 21:57 jarek.cz
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
// Labtec

// Labtec Ultra-flat Wireless Desktop (model Y-RAE68)
partial alphanumeric_keys
xkb_symbols "labtecufwd" {
    key <MENU>   {    [ Menu                           ]    };
    key <I22>    {    [ XF86AudioPlay, XF86AudioPause  ]    };
    key <I24>    {    [ XF86AudioStop                  ]    };
    key <I10>    {    [ XF86AudioPrev                  ]    };
    key <I19>    {    [ XF86AudioNext                  ]    };
    key <I20>    {    [ XF86AudioMute                  ]    };
    key <I2E>    {    [ XF86AudioLowerVolume           ]    };
    key <I30>    {    [ XF86AudioRaiseVolume           ]    };
    key <I6C>    {    [ XF86Mail                       ]    };
    key <I32>    {    [ XF86HomePage                   ]    };
    key <I66>    {    [ XF86Favorites                  ]    };
    key <I67>    {    [ XF86Refresh                    ]    };
    key <I65>    {    [ XF86Search                     ]    };
    key <I6B>    {    [ XF86MyComputer                 ]    };
    key <I6D>    {    [ XF86AudioMedia                 ]    };
};
20.3.2007 14:02 cuba.g | skóre: 8
Rozbalit Rozbalit vše Re: Konfigurace multimediální klávesnice v X
Vynikající konečně mi funguje klaveska tak jak potřebuji. Moc dik.

// Eurocase Waterproof KB-8101 Multimedia Keyboard
partial alphanumeric_keys
xkb_symbols "eurocasemk" {

    key <I5E>   {      [ XF86PowerOff                  ]     };
    key <I5F>   {      [ XF86Sleep                     ]     };
    key <I5F>   {      [ XF86AudioMedia                ]     };
    key <I22>   {      [ XF86AudioPlay, XF86AudioPause ]     };
    key <I24>   {      [ XF86AudioStop                 ]     };
    key <I10>   {      [ XF86AudioPrev                 ]     };
    key <I19>   {      [ XF86AudioNext                 ]     };
    key <I2E>   {      [ XF86AudioLowerVolume          ]     };
    key <I30>   {      [ XF86AudioRaiseVolume          ]     };
    key <I20>   {      [ XF86AudioMute                 ]     };
    key <I6D>   {      [ XF86AudioMedia                ]     };
    key <I32>   {      [ XF86MyComputer                ]     };
    key <I6C>   {      [ XF86Mail                      ]     };
};

Založit nové vláknoNahoru

ISSN 1214-1267   Powered by Hosting 90 Server hosting
© 1999-2011 Argonit s. r. o. Všechna práva vyhrazena.