Wie kann ich einer bestimmten Taste in meinem Laptop einen mittleren Tastendruck zuweisen?


8

Wie kann ich einen mittleren Tastendruck an eine bestimmte Taste in meinem Laptop anschließen? Ich kann die mittlere Taste drücken, wenn ich auf die obere rechte Ecke des Touchpads tippe, möchte sie jedoch einer Taste wie der "Windows" -Taste oder der "Menü" -Taste zuordnen.

Gibt es eine Möglichkeit, das zu tun?

Die aktuelle Antwort funktioniert nicht für Ubuntu 11.10 mit einem klassischen gnome-fehlersicheren Desktop. Ich würde jemanden brauchen, der herausfindet, wie dies für die aktualisierte Ubuntu-Version gemacht werden kann.

Antworten:


10

Die neu zuordnen Menütaste , die Sie-gehen Sie wie folgt benötigen.

Installationsvoraussetzungen

Paket installieren xkbset:

sudo apt-get install xkbset

Tastaturlayout definieren

Als nächstes müssen Sie definieren, welches Tastaturlayout Sie verwenden. In meinem Fall gb für ein Tastaturlayout in Großbritannien / Großbritannien oder wir für die USA

setxkbmap -layout gb

Hinweis: Wenn Sie ausführen

setxkbmap -query

Sie erhalten die Ausgabe wie folgt: Wenn das Modell und das Layout Ihre Tastatur sind, verwenden Sie das richtige Layout

rules:      evdev
model:      pc105
layout:     gb

Als nächstes definieren Sie, dass wir als nächstes Maustasten zuordnen werden:

xkbset m
xkbset exp =m

MenuSchlüsselcode finden

Ordnen Sie den MenuSchlüssel zu. Dazu benötigen wir den MenuSchlüsselcode. xevBewegen Sie in einem Terminallauf Ihre Maus innerhalb des Quadrats und drücken Sie die MenuTaste.

Geben Sie hier die Bildbeschreibung ein

Endresultat

In meinem Fall ist mein MenuSchlüsselcode der Wert 135 und dieser wird der Maustaste 2 zugeordnet

xmodmap -e "keycode 135 = Pointer_Button2"

Getestet wie folgt:

  1. Text in ein Terminal kopieren - Aktion Einfügen gestartet
  2. Bewegen Sie die Maus über die Titelleiste - Fenster zum Hintergrund verschieben

Alles zusammen:

Ok, sobald wir die richtigen Schlüsselcodes ausgearbeitet haben, können wir diese zusammenstellen, um mit der Anmeldung zu beginnen.

Erstellen Sie zuerst eine Datei in Ihrem Home-Ordner mit dem Namen remapkeys

gedit ~/remapkeys

Kopieren Sie nun Folgendes und fügen Sie es ein

#!/bin/sh
setxkbmap -layout gb
xkbset m
xkbset exp =m
xmodmap -e "keycode 135 = Pointer_Button2"

Speichern. Geben Sie der Datei Ausführungsrechte

chmod +x ~/remapkeys

Suchen Sie dann in Dash nach Startanwendungen oder verwenden Sie Gnome Classic - Anwendungen - Andere - Startanwendungen

Fügen Sie einen neuen Eintrag für Startanwendungen hinzu

Geben Sie hier die Bildbeschreibung ein

Der Befehl sollte lauten:

bash -c "sleep 5 && ~/remapkeys"

Der Befehl bleibt 5 Sekunden lang stehen, damit Ihr Desktop angezeigt wird, bevor Sie Ihr neues Skript ausführen. Wenn Ihr Desktop nicht innerhalb von 5 Sekunden angezeigt wird (möglicherweise verwenden Sie ein langsames Netbook?), Erhöhen Sie dieses Zeitlimit auf 10 oder 15 Sekunden. Zum Testen abmelden und anmelden.


Kann ich nach diesen Schritten fragen, ob die Bindung dauerhaft sein soll oder ob ich sie irgendwo ablegen soll, damit sie bei jedem Neustart geladen wird?
719016

sicherlich nicht permanent - ich würde die Anweisungen einem Skript hinzufügen und als Teil von Startanwendungen ausführen, damit sie beim Anmelden ausgeführt werden. Funktioniert die Antwort für Sie - es hat in meinen Tests
getan

es funktioniert aber wie du sagst nicht dauerhaft
719016

... nur für den Fall, dass ich es nicht klargestellt habe, habe ich hinzugefügt, wie man dies vom Login zur Antwort startet.
Fossfreiheit

Ist Drag & Drop erlaubt?
Vitor Abella

5

Installieren Sie zunächst xautomation:

sudo apt-get install xautomation

Sie können ein Ereignis mit mittlerem Klick mit xte senden:

xte 'mouseclick 2'

Sie können hierfür unter Einstellungen -> Tastaturkürzel (oder 'Tastaturkürzel' aus der Unity-Suche) eine benutzerdefinierte Verknüpfung erstellen. Klicken Sie auf "Hinzufügen", geben Sie einen Namen und den obigen Befehl ein und klicken Sie auf "Übernehmen". Scrollen Sie nach unten und legen Sie wie bei jeder anderen Aktion eine Verknüpfung fest.

Als ich dies versuchte, konnte ich die Aktion nicht nur an den Windows-Schlüssel binden. Sie können es versuchen, indem Sie Folgendes tun, aber es scheint einen Fehler zu geben, der dies verhindert:

Öffnen Sie ein Terminal und führen Sie es aus

gconf-editor

Drücken Sie Strg + f, aktivieren Sie das Feld "Auch in Schlüsselwerten suchen" und geben Sie Folgendes in das Suchfeld ein:

xte 'mouseclick 2'

Es sollte nur ein Ergebnis im unteren Bereich geben. Wenn es mehr gibt, wählen Sie die aus, deren Name '/ desktop / gnome / keybindings / custom * / action' enthält. Geben Sie im oberen rechten Bereich '' (ohne Anführungszeichen) neben dem Feld 'Bindung' ein. Wenn Sie das gleiche Ergebnis wie ich erhalten, ändern sich alle Fenstererscheinungen, und die neue Tastenkombination führt zu nichts. Ändern Sie dies wieder in das, was es war (oder machen Sie es leer) und öffnen Sie Aussehen (Einstellungen -> Aussehen oder 'Aussehen' unter Einheitensuche). Das sollte das Problem beheben.


Großartig! Ich musste das Gconf-Editor-Bit nicht ausführen, bis jetzt funktioniert es. Ich werde es nach dem Neustart noch einmal überprüfen. Danke!
719016

Dies funktioniert in Ubuntu 11.10 mit einem klassischen gnome-fehlersicheren Desktop nicht mehr. Ich bin mir sicher, dass es einen Weg geben muss, dasselbe zu tun.
719016

1

Ich würde für andere (da ich dies mehrmals bei der Suche nach meiner eigenen Maus gefunden habe) feststellen, dass einige Logitech-Mäuse einige Tasten haben (auf meinem MX1100 waren sie standardmäßig "DPI +/-" -Tasten), die nicht gesendet werden ein Signal an den USB-Empfänger.

Es ist möglich, dies zu überschreiben und die Maus den Tastendruck an Ihren Maustreiber melden zu lassen, aber der Vorgang ist nicht annähernd benutzerfreundlich (oder sogar leicht zu replizieren, da er für jede Maus unterschiedlich zu sein scheint). Das "lomoco" -Paket wird anscheinend für einige Benutzer funktionieren, wurde jedoch seit einiger Zeit nicht mehr für neuere Mäuse aktualisiert.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.