Portál AbcLinuxu, 4. května 2025 12:38
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 xdotoolNejprve 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:7Také 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"; fiUz mu jen dat spustitelny priznak
chmod +x .touchpad_tlacitkaa 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.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.