lördag, december 22, 2007

Mittenklick i Fedora 7 med xautomation & xbindkeys

Om man har en trevlig mus med sidoknappar, exempelvis en Microsoft Wireless Optical Mouse 5000, så vill man ju gärna att alla knappar på musen ska fungera i Linux. Eftersom jag inte kunde hitta några som helst vettiga guider på nätet, så skriver jag ner hur jag fick det att fungera.

Mål: Ställ in sidoknapparna på musen till att fungera som mittenknappen (klick på scrollhjulet).
Detta gör det exempelvis möjligt att öppna länkar som nya flikar i Firefox, genom att klicka på någon av sidoknapparna. Eftersom sidoknapparna är mycket enklarade och bekvämare och klicka på än det stora scrollhjulet (mittenknappen) är detta en viktig funktion. Dessutom fungerade det såhär automatiskt i Fedora core 5 och tidigare, varför jag höll på att bli galen över att det inte fungerade i Fedora core 7...

1. Ta reda på hur knapparna på din mus är numrerade.

Installera programmet xev (Fedora: yum install xev). Programmet körs från terminal med kommandot xev.

Körning av programmet öppnar ett fönster med en ruta. När du klickar på ett musknapp i rutan visas utskrift i terminalfönster i stil med:
ButtonPress event, serial 29, synthetic NO, window 0x3a00001,
root 0x13a, subw 0x0, time 37387315, (165,176), root:(779,466),
state 0x0, button 1, same_screen YES

Det intressanta är det fetmarkerade, som visar vad musknappen heter. Här klickade jag på vänster musknapp, vilket är button 1. Mittenknappen visade sig vara button 2, och de båda sidoknapparna button 8 och button 9.

2. Installera och konfigurera Xbindkeys.

Följ instruktionerna 4, 5 och 6 här. Du behöver dock inte redigera .xbindkeysrc som beskrivs in artikeln, det räcker med att skapa filen. (I guiden ifråga används programmet Xvkbd. Xvkbd kan dock bara emulera tangentbordsinput, och inte musklick, och därför är det inte aktuellt att använda.)

3. Installera xautomation.

Xautomation innehåller programmet xte som till skillnad från Xvkbd också kan emulera musklick. Installera därför xautomation genom att ladda ner det och kompilera.

För mig misslyckades "make" eftersom X11/extensions/XTest.h och X11/Xlib.h saknades. För Fedora finns de i libX11-devel (yum install libX11-devel). För andra distributioner har paketet andra namn.

Efter installation av libX11-devel misslyckades make åter, denna gång med felmeddelandet
#/usr/bin/ld: cannot find -lXtst"

Detta löstes genom att skapa en länk:
ln -s /usr/lib/libXtst.so.6 /usr/lib/libXtst.so

Sedan misslyckades make och make install åter, men i ett senare skede när xte åtminstone redan var kompilerad. Vilket också är allt som krävs.

4. Konfigurera xbindkeys.

Gå till hemkatalogen och öppna .xbindkeysrs och lägg in följande rader:
"/sökväg/till/xte 'mouseclick 2'"
b:8 + Release
"/sökväg/till/xte 'mouseclick 2'"
b:9 + Release

Detta förutsätter att det är musknapp 8 och 9 som du vill mappa om till musknapp 2 (mittenklick). Är dina musknappar numrerade annorlunda måste du göra relevanta ändringar.

5. Starta om xbindkeys.

Starta om xbindkeys genom följande kommandon:
pkill -f xbindkeys
xbindkeys

Nu ska allt vara klart och fungerade.

Inga kommentarer: