Portál AbcLinuxu, 1. května 2025 00:01

Jak zprovoznit extra tlačítka, která xev nevidí

27.1.2013 12:24 | Přečteno: 1058× | GNU/Linux | Výběrový blog

Protože vlastním Logitech klávesnici, jejíž nějaká ta tlačítka navíc "nefungují", resp. xev je "nevidí", tak jsem se rozhodnul s tím něco dělat. Podělím se se zkušenostmi. Inspiroval jsem se Getting the Logitech K350 multimedia keys to work properly in Linux.

Krok první -- příprava na bitvu

Aby náš návod fungoval, bude třeba mít v systému mj. programy xmodmap a evrouter. Způsob instalace pomocí správce balíčků se liší od distribuce k distribuci. Doporučuju si přečíst alespoň dokumentaci (manuálovou stránku) ke evrouter.

Krok druhý

Pomocí programu xev zjistěte, která extra tlačítka negenerují události. Prostě se po jejich stisku "nic neděje".

Krok třetí -- příprava, aby i normální uživatel mohl číst z "event devices" (zařízení generující události)

Vytvoření skupiny input

Je třeba vytvořit skupinu, jejíž členové mohou číst z "event devices". Budu se držet názvu input.

Příslušné udev pravidlo -- soubor /etc/udev/rules.d/80-evrouter.rules

Pomocí udev pravidla zajistíme, aby členové skupiny input mohli číst z "event devices":

KERNEL=="event*", NAME="input/%k", GROUP="input" 

Krok čtvrtý: Restartujeme systém

Krok pátý: evrouter -D /dev/input/event*

Tímto příkazem zjistíme, která "event zařízení" nás budou zajímat. Já ve výpisu mj. mám:

device  8: /dev/input/event3: Logitech USB Receiver
device  9: /dev/input/event4: Logitech USB Receiver

Krok šestý: ~/.evrouterrc (konfigurace evrouter)

Nyní naplníme konfigurační soubor programu evrouter. Spustťe: evrouter -d /dev/input/event{3,4} (ta "magická" čísla jsem získal z předchozí části návodu). Zmáčknutím tlačítka, které xev "neregistroval", získáme např. následujcí výstup (zkrátil jsem):

"Logitech USB Receiver" "/dev/input/event4" none key/419 "fill this in!"
# "fill this in!" nám doslova říká, že si to máme vyplnit.

Zkuste si to upravit na: "Logitech USB Receiver" "^/dev/input/event" none key/419 "XKey/XF86ZoomOut" Pomocníkem nám bude soubor /usr/include/X11/XF86keysym.h

~/.xmodmap

Pomocí příkazu xmodmap -pke zjistíme volné "keycodes". My použijeme keycode 251 (následujcí je třeba vložit do souboru ~/.xmodmap):

keycode 251 = XF86ZoomOut

Závěrečné tipy

Je třeba při každém startu spustit (je na vás, ze kterého skriptu/programu):

$ xmodmap ~/.xmodmap
$ evrouter /dev/input/event*

Nyní by měl xev kýžené klávesy "vidět"! Nechávám čistě na vás, jak spárujete tyto klávesy s určitou akcí. Já používám pekwm, kde to není nic těžkého.

       

Hodnocení: 100 %

        špatnédobré        

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

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

27.1.2013 13:48 Jardík
Rozbalit Rozbalit vše Re: Jak zprovoznit extra tlačítka, která xev nevidí
Odpovědět | Sbalit | Link | Blokovat | Admin
Pomocí udev pravidla zajistíme, aby členové skupiny input mohli číst z "event devices"
Gratuluji, právě jste umožnil používání keylogeru.
27.1.2013 13:58 Begleiter | skóre: 47 | blog: muj_blog | Doma
Rozbalit Rozbalit vše Re: Jak zprovoznit extra tlačítka, která xev nevidí

Jestli znáš lepší řešení, tak sem s ním.

27.1.2013 14:10 Jardík
Rozbalit Rozbalit vše Re: Jak zprovoznit extra tlačítka, která xev nevidí
Každý slušný program dnes podporuje xinput2, není teda třeba nic hledat, pouze nakonfigurovat daný program.
27.1.2013 14:14 Begleiter | skóre: 47 | blog: muj_blog | Doma
Rozbalit Rozbalit vše Re: Jak zprovoznit extra tlačítka, která xev nevidí

Díky. Nechtělo by se ti o tom napsat víc?

27.1.2013 14:21 Jardík
Rozbalit Rozbalit vše Re: Jak zprovoznit extra tlačítka, která xev nevidí
No nebudu tady nikomu nalhávat, že znám alternativu ke 'xev', protože ho nepoužívám, ale xinput2 podporuje i scankódy větší než 1B (na rozdíl od obyč x input eventů), takže vidí všechny stisky (něco podobného bude asi zajišťovat ten evrouter či co tam máte, nějakou konverzi 4B->1B scankód). Gtk i Qt xinput2 (snad) používají, takže tam by měli být všechny klávesy vidět.

Tu XI2 info.
27.1.2013 14:31 Begleiter | skóre: 47 | blog: muj_blog | Doma
Rozbalit Rozbalit vše Re: Jak zprovoznit extra tlačítka, která xev nevidí

Vypadá to dobře. Až bude čas a chuť, kouknu se na to.

Bedňa avatar 27.1.2013 16:04 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Jak zprovoznit extra tlačítka, která xev nevidí
Z toho si nič nerob, stláčanie klávesnice sa dá odchytiť aj na niekoľko metrov bežne dostupnou elektronikou.
KERNEL ULTRAS video channel >>>
27.1.2013 16:31 Begleiter | skóre: 47 | blog: muj_blog | Doma
Rozbalit Rozbalit vše Re: Jak zprovoznit extra tlačítka, která xev nevidí

Díky!

Jendа avatar 27.1.2013 16:35 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Jak zprovoznit extra tlačítka, která xev nevidí
bežne dostupnou elektronikou
Měl bys k tomu víc?
Bedňa avatar 27.1.2013 18:27 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Jak zprovoznit extra tlačítka, která xev nevidí
Toto je oficiálne objavenie odpočúvania. Ale nejaký maníci to zrealizovali nejakou lacnou elektronikou z obchoďáku. Je to už viac ako dva roky, nepamätám ako presne ale určite ti to Google nájde ak chceš :)
KERNEL ULTRAS video channel >>>
28.1.2013 02:45 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Jak zprovoznit extra tlačítka, která xev nevidí
Videokamera, na některé z mých klávesnic pak i mikrofon s parabolou :-D.
rbmkctl --power 30 /dev/rbmk2
Bez sudo? :-O
Jendа avatar 28.1.2013 09:06 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Jak zprovoznit extra tlačítka, která xev nevidí
Videokamera, na některé z mých klávesnic pak i mikrofon s parabolou :-D.
Furt lepší než klávesnice (nebo PS2-USB adaptér) s integrovanou EEPROM :-).
Bez sudo? :-O
Pod rootem.
Jendа avatar 27.1.2013 16:36 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Jak zprovoznit extra tlačítka, která xev nevidí
Což ho třeba na desktopu pro jednoho fyzického uživatele a s Xkama fakt trápí.
27.1.2013 18:10 Jardík
Rozbalit Rozbalit vše Re: Jak zprovoznit extra tlačítka, která xev nevidí
To netuším, jen jsem na to upozornil, jak si to kdo přebere, je na něm
27.1.2013 13:59 lm
Rozbalit Rozbalit vše Re: Jak zprovoznit extra tlačítka, která xev nevidí
Odpovědět | Sbalit | Link | Blokovat | Admin
Nestačilo by ve čtvrtém kroku jen restartovat udev místo celého systému ?
27.1.2013 14:08 Begleiter | skóre: 47 | blog: muj_blog | Doma
Rozbalit Rozbalit vše Re: Jak zprovoznit extra tlačítka, která xev nevidí

To nevím. Já jsem volil jednoduché "rychlé" řešení, i když přiznávám, že je to řešení ala Windows.

27.1.2013 14:11 Jardík
Rozbalit Rozbalit vše Re: Jak zprovoznit extra tlačítka, která xev nevidí
udevadm control --reload-rules
27.1.2013 14:16 Begleiter | skóre: 47 | blog: muj_blog | Doma
Rozbalit Rozbalit vše Re: Jak zprovoznit extra tlačítka, která xev nevidí

Dobře. Díky. To bysme měli. Ale jak je to s nově vytvořenou skupinou input a s uživateli, které jsem do ní přidal. Není třeba se odhlásit a znovu přihlásit?

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.