Portál AbcLinuxu, 4. května 2025 12:38

Jak na tlačítka myši/touchpadu aby emitovala signály kláves?

10.10.2009 13:32 | Přečteno: 1045× | poslední úprava: 10.10.2009 14:34

Na jednom notebooku je uprostřed touchpadu tlačítko s šipkami nahoru/dolu/vlevo/vpravo. Byl jsem požádán, jestli by nemohly tlačítka (doleva a doprava) způsobit, aby po jejich zmáčknutí prohlížeč šel na předchozí nebo následující stránku v historii - na Windows (a v KDE) to tak prý funguje samo od sebe, ale teď se na počítači používá GNOME. Ani to nakonec nebylo moc těžké.

Kdyby se jednalo jenom o přemapování kláves, aby emitovaly jiné symboly, dá se mimojiné použít xmodmap. Ten ale neumí signály tlačítek myši překlopit na signály klávesnice. Pomocí xev jsem se dozvěděl, že touchpad emituje sedm signálů (pravé levé tlačítko, jejich stisknutí jsou 1 2 3, tlačítko s šipkami se postará o signály číslo 4 5 6 7). Firefox interpretuje tlačítka myši číslo 8 9 jako pokyn jít v historii dopředu a dozadu, takže by stačil příkaz

xmodmap -e "pointer = 1 2 3 4 5 8 9"
který způsobí, že se šesté a sedmé tlačítko interpretují jako osmé a deváté (prvních pět je interpretováno jako prvních pět). Jenže to nefungovalo v Nautilusu.

Další řešení jsem vygooglil pomocí xbindkeys a xmacroplay, ale druhý nástroj se se mnou příliš nekamarádil, až jsem našel xdotool, které má poněkud rozumnější a funkčnějí syntax (a na tenhle účel se hodí víc). Pak už jsem měl řešení za pár minut hotové. v Ubuntu se zmíněné balíky nainstalují lehce

sudo apt-get install xbindkeys xdotool
Nejprve konfigurák .xbindkeysrc:
# zachyti tlacitko mysi cislo 4 az 7  a spusti prikaz v uvozovkach
"$HOME/.touchpad_tlacitka 4"
  b:4
"$HOME/.touchpad_tlacitka 5"
  b:5
"$HOME/.touchpad_tlacitka 6"
  b:6
"$HOME/.touchpad_tlacitka 7"
  b:7
Také je dobré spouštět xbindkeys při každém přihlášení, to se nejsnáze udělá přes system>preferences>startup applications (aspon v GNOME). Soubor .touchpad_tlacitka:
#!/bin/bash
# v zavislosti na argumentu posle signal, jako bychom zmackli v poradi tlacitka PageDown, PageUp,Back,Forward
if [ $1 = 4 ];
   then xdotool key "Prior"; 
elif [ $1 = 5 ];
   then xdotool key "Next";
elif [ $1 = 6 ];
   then xdotool key "XF86Back";
elif [ $1 = 7 ];
   then xdotool key "XF86Forward";
fi
Uz mu jen dat spustitelny priznak
chmod +x .touchpad_tlacitka
a vše by mělo fungovat. Snad se to někomu bude hodit, minimálně na českém internetu jsem o tom nic nenašel. Jestlo stejného efektu lze dosáhnout nějak jednodušeji, nechám se samozřejmě rád poučit.

       

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 (2) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

10.10.2009 19:03 wondon
Rozbalit Rozbalit vše Re: Jak na tlačítka myši/touchpadu aby emitovala signály kláves?
Odpovědět | Sbalit | Link | Blokovat | Admin
co takhle btnx, je v repo ubuntu a no problem
12.10.2009 20:17 Drew | skóre: 15 | blog: Supi_hnizdo | Praha
Rozbalit Rozbalit vše Re: Jak na tlačítka myši/touchpadu aby emitovala signály kláves?
btnx mi nejak nefungovalo (na strankach se pise, ze to blbne se serverem 7.3, ja mam 7.4 (ubuntu 9.04), tak to mozna blbne stale) - nedokazal jsem nadetekovat mys.

Zato easystroke je opravdu jednoduche a funkcni klikatko na podobny ucel jak stvorene, jenom sidli v notification area (nejsem si jist překladem do češtiny), ale to se asi da prezit. Navic to zvlada i gesta mysi pro cely system, coz je naprosto uzasne.
12.10.2009 20:19 Drew | skóre: 15 | blog: Supi_hnizdo | Praha
Rozbalit Rozbalit vše Re: Jak na tlačítka myši/touchpadu aby emitovala signály kláves?
Aha, tak ne, dá se to odkliknout (aby se ukazovala v notification area).
Fluttershy, yay! avatar 11.10.2009 12:06 Fluttershy, yay! | skóre: 93 | blog:
Rozbalit Rozbalit vše Re: Jak na tlačítka myši/touchpadu aby emitovala signály kláves?
Odpovědět | Sbalit | Link | Blokovat | Admin
Fůj, Acer!
🇵🇸Touch grass🇺🇦 ✊ ani boha, ani pána
12.10.2009 20:22 Drew | skóre: 15 | blog: Supi_hnizdo | Praha
Rozbalit Rozbalit vše Re: Jak na tlačítka myši/touchpadu aby emitovala signály kláves?
To sice ano, ale ten křížk s šipkami je docela praktický.

Založit nové vláknoNahoru

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