ubuntuusers.de

Sonderbuttons an Maus mit xev erkannt, nicht mit xbindkeys

Status: Ungelöst | Ubuntu-Version: Ubuntu 18.04 (Bionic Beaver)
Antworten |

Ubulex

Avatar von Ubulex

Anmeldungsdatum:
26. August 2018

Beiträge: 89

Ich habe eine neue Maus, die mit den normalen Möglichkeit per USB funktioniert:

  • Die zwei Sonderbuttons seitlich funktionieren im Browser (Firefox) automatisch mit "Zurück" und "Vor" im Verlauf.

  • Nun möchte ich diese Buttons aber generell auch in anderen Programmen nutzen.

Am liebsten wäre mir, ich könnte direkt Tastenkombinationen zuweisen und keine Befehle (Button 8 = CTRL+SHIFT+A bspw.). Ist das möglich?

Vielleicht bin ich auf dem richtigen Weg:

  • Mit xev erhalte ich die Events der Tasten (8/9).

  • Mit xbindkeys erhielt ich keine Funktion, Tastenkombinationen haben funktioniert.

  • Über xbindkeys-config habe ich gemerkt, dass die 2 Buttons hier gar nichts übermitteln, ich also keine Kombination erstellen kann.

Wie kann ich zumindest Befehle diesen Buttons zuordnen? Oder gibt es eine Möglichkeit, auch wirklich eine Tastenkombination mit den Buttons jeweils zu verknüpfen?

Vielen Dank

Letalis_Sonus Team-Icon

Anmeldungsdatum:
13. April 2008

Beiträge: 12990

Wohnort: Oldenburg/Erlangen

Ubulex schrieb:

Am liebsten wäre mir, ich könnte direkt Tastenkombinationen zuweisen und keine Befehle (Button 8 = CTRL+SHIFT+A bspw.). Ist das möglich?

Wenn der Hersteller eine entsprechende (Windows-)Konfigurationssoftware zur Verfügung stellt und die Maus hierfür einen internen Speicher verwendet...

Maustasten sind generell eine komplett eigene Kategorie von Eingabe-Events und können daher nicht einfach zB auf Treiberebene auf eine Tastenkombination umgelegt werden, das muss wie eben mit xbindkeys der Fall ist von einer Software erledigt werden, die aktiv die Events abfängt und die Tastenkombination simuliert. Insbesondere unterstützt xbindkeys letzteres gar nicht und muss dafür auf ein externes Programm wie xte zurückgreifen - welches natürlich auch installiert sein muss und mit den richtigen Argumenten gestartet werden muss, dies musst du selbst erledigen.

Ubulex schrieb:

Wie kann ich zumindest Befehle diesen Buttons zuordnen?

Hast du es denn einfach mal per Hand probiert? Entsprechende Konfigurationsbeispiele kannst du dem zugehörigen Wiki Artikel entnehmen, sogar explizit mit Button 8 & 9.

Ubulex

(Themenstarter)
Avatar von Ubulex

Anmeldungsdatum:
26. August 2018

Beiträge: 89

Danke dir!

Aber ja, ich probiere einige Stunden Kombinationen, habe mir diverse Diskussionen durchgelesen, auch mit "xte" experimentiert, aber bisher kein Ergebnis erhalten. In der .xbindkeysrc bspw.:

"xte 'key A'"
b:8

Das ist doch, was du meinst, oder?

Dadurch, dass ich auch ein Trackpad habe, war auch mit "xte -i 10 'key A'" ein Versuch leider erfolglos, um die ID 10 der USB Maus zu integrieren. Hast du noch eine andere Idee? Müsste nicht xbindkeys-config beim Einlesen einer Kombination die Sonderbuttons erkennen?

Danke weiterhin!

Letalis_Sonus Team-Icon

Anmeldungsdatum:
13. April 2008

Beiträge: 12990

Wohnort: Oldenburg/Erlangen

Achtung: Das Einrücken der Tastenkombination hinter dem Befehl ist wichtig! Die Konfigurationsdatei braucht dies um klar zwischen Befehlen und Tasten unterscheiden zu können.

Weiterhin befindet sich im Wiki Artikel ein Hinweis auf den Release Modifier, damit dies nicht beim Betätigen, sondern beim Loslassen ausgelöst wird, was in einigen Situationen schlicht besser funktioniert. Es gibt auch Mäuse die für ihre Zusatztasten gar nicht beide Events implementieren.

Ubulex schrieb:

Müsste nicht xbindkeys-config beim Einlesen einer Kombination die Sonderbuttons erkennen?

Das würde erst einmal voraussetzen, dass das Programm selbst sich beim Abgreifen der Tastenkombination auch ganz nach vorne drängelt. Wenn irgend ein anderes Programm dem zuvor kommt und das Signal als abgearbeitet deklariert, reicht das schon damit das Signal dort nicht ankommt.

Ubulex

(Themenstarter)
Avatar von Ubulex

Anmeldungsdatum:
26. August 2018

Beiträge: 89

Leider habe ich das Einrücken nur in meinem Post vergessen. In meinem File ist es eingerückt.

Mit Release und Press versucht, keine Funktion. Mit xev sehe ich aber auch beide Events für alle Tasten.

Es gibt keine zuverlässige Methode zu erkennen, welche Tastensignale ein Eingabegerät wirklich implementiert. Es gibt schlichtweg nichts was die Hersteller auch dazu zwingen würde, hier überhaupt korrekte Angaben zur eigenen Hardware zu machen.

Ich dachte nur, dass wenn xev die Events registriert, dann müsste es auch xbindkeys-config?

Das wäre doch so, wie du es auch verwenden würdest (evtl. ohne '-i 10', hab ich auch probiert):

"/usr/bin/xte -i 10 'key A'"
   b:8+Release

Vielen Dank für deine Hilfe. Hast du dazu noch eine Idee? Wenn die Buttons nirgends funktionieren würden, würde ich es schon aufgeben. Aber im Browser und mit xev reagieren sie wunderbar.

Ubulex

(Themenstarter)
Avatar von Ubulex

Anmeldungsdatum:
26. August 2018

Beiträge: 89

Momentan denke ich, man kann das Problem auf folgendes herunterbrechen:

  1. Mit xev, im Browser oder auch in pygame bspw. werden alle Buttons problemlos erkannt.

  2. Mit xbindkeys -k erhalte ich keine Rückmeldung bei jeglichen Maustasten, nur bei Tastaturkommandos.

Ich habe wirklich alle mir möglichen Kombinationen ausprobiert. Auch mit den 3 Standardmausbuttons. Es wäre großartig, wenn mir jemand noch andere Möglichkeiten aufzeigen könnte.

Danke!

Antworten |