Wie kann ich die Funktion "Einfügen mit mittlerer Maustaste" in allen Programmen deaktivieren?

43

Ich mag das Einfügen mit der mittleren Maustaste nicht, da ich in Eclipse häufig nicht kompilierbaren Code erhalte. Wie kann ich das ausschalten (in allen Programmen)? Ich leite Fedora.

derekhh
quelle
4
Das Einfügen einer Auswahl durch Klicken mit der mittleren Maustaste ist grundsätzlich Teil der Funktionsweise von X11. Siehe http://www.jwz.org/doc/x-cut-and-paste.html .
Ephemient
1
@ Gilles: In allen Programmen. :)
derekhh
4
Ich habe keine triviale Möglichkeit gesehen, dies zu tun, ohne die mittlere Maustaste ganz zu betätigen oder X zu hacken oder auch mit der normalen Zwischenablage zu schrauben. Meine vorgeschlagene "Lösung" ist also, nur zu lernen, wie man die mittlere Maustaste richtig benutzt. Es ist unglaublich praktisch, eine Text-URL an einer beliebigen Stelle hervorzuheben und durch Klicken mit der mittleren Maustaste in meinem (FF) Browserfenster darauf zuzugreifen.
jw013
4
@ephemient "Das Klicken mit der mittleren Maustaste, um eine Auswahl einzufügen, ist im Wesentlichen Teil der Funktionsweise von X11" ... als wir Sun Optical Mouses hatten, die ungefähr 1 Pfund Druck auf die mittlere Taste benötigten, um ein Signal zu erhalten. Heute ist der mittlere Knopf am Haarauslöser und wird darüber hinaus als Rad verwendet, dieses "grundlegende" muss gehen (wie ziemlich viele "grundlegende" Dinge in X btw.)
David Tonhofer
3
Ich denke, die Möglichkeit, alles zu deaktivieren, was Sie wollen, ist ein noch grundlegenderer Aspekt von Linux.
Wayne Bloss

Antworten:

24

Diese Lösung funktioniert global und behält die Funktionalität der mittleren Maus bei.

Installieren xbindkeys xsel xdotool

Legen Sie dies in ~/.xbindkeysrc

"echo -n | xsel -n -i; pkill xbindkeys; xdotool click 2; xbindkeys"
b:2 + Release

Neu laden xbindkeys -p

Beim xbindkeysStart ausführen, um pkill xbindkeyszu stoppen.

Radivarig
quelle
7
Danke!!! Ich kann nicht glauben, dass die einzige funktionierende Lösung seit genau 2 Jahren bei 0 Stimmen sitzt.
Retr0id
4
Endlich eine Lösung, die für mich auf Ubuntu Mate 17.10 funktioniert hat. Danke!
Dmitry Frank
5
@spiil Ich habe diese Lösung ausprobiert und sie erzielt den gewünschten Effekt. Ich habe mit der mittleren Maustaste in ein Textfeld geklickt und nichts passiert, aber wenn ich mit der mittleren Maustaste auf einen Link klicke und mit der mittleren Maustaste klicke, wird eine Registerkarte in Chromium, Firefox und Waterfox (den drei von mir getesteten Browsern) geschlossen.
User7214865
4
Scrollen durch Klicken und Halten der mittleren Taste funktioniert mit dieser Lösung nicht mehr: /
Marc.2377
2
Du bist eine Legende. Ich habe den mittleren Knopf auf meinem Trackball zum Scrollen benutzt, aber die Einfügefunktion hat mein Leben miserabel gemacht. Jetzt ist es wieder in leuchtenden Farben, danke!
redsPL
16

In Fedora 24 können Sie gnome-tweak-toolmit dem folgenden Befehl installieren :

$ sudo dnf install gnome-tweak-tool

Öffnen gnome-tweak-toolSie die Registerkarte "Tastatur und Maus" und deaktivieren Sie "Einfügen mit mittlerer Maustaste".

Pawan Kumar
quelle
4
Dies ist auch in Ubuntu 16.04 verfügbar: sudo apt-get install gnome-tweak-tool
Tyranin
1
Dies betrifft nur einige Programme wie gedit, gnome-terminal und einige andere. Siehe auch Kommentar unter askubuntu.com/questions/4507/… .
Kvothe
11

Das Einfügen der mittleren Taste ist ein Unix-Benutzerschnittstellenstandard, bei dem die linke Taste ausgewählt oder aktiviert wird und die rechte Taste etwas anderes ausführt (z. B. Erweitern, Umschalten, Aufrufen eines Menüs usw.). Sie werden feststellen, dass es in den meisten Unix-Anwendungen an das Einfügen gebunden ist.

Wenn Ihr Problem darin besteht, dass Ihre Maus überempfindlich ist, wenn Sie Ihren Finger auf das Rad legen, empfehle ich Ihnen, eine bessere Maus zu kaufen. Es gibt viele billige anständige Mäuse.

Sie können die Maustaste 2 einer anderen Nummer zuweisen. Anwendungen identifizieren die linke, mittlere und rechte Maustaste als Tasten 1, 2 bzw. 3. Fügen Sie diesen Code in ein Skript ein, das ausgeführt wird, wenn Ihre X-Sitzung gestartet wird (dies hängt von Ihrer Desktop-Umgebung ab).

echo 'pointer = 1 6 3 4 5' | xmodmap -
Gilles 'SO - hör auf böse zu sein'
quelle
1
Funktioniert nicht. pastebin.com/0DYYMDLS
balki
@balki Seltsam. Es funktioniert auf jeden Fall für mich. Um herauszufinden, warum es bei Ihnen nicht funktioniert, stellen Sie eine neue Frage. Stellen Sie sicher, dass Sie angeben, über welche Version von X.org (oder einem anderen X-Server) Sie verfügen, auf welcher Distribution Sie dies ausführen und welche Eingabegeräte angeschlossen sind.
Gilles 'SO- hör auf böse zu sein'
2
Ich wette, OP ist es egal, ob es Standard ist (ich weiß, dass ich es nicht tue). Spielt keine rolle Maustastenaktionen sollten einfacher anpassbar sein.
Marc.2377,
7

Scrollrad-Mäuse unterstützen beim Drücken des Scrollrads ein Klickereignis mit der mittleren Maustaste. Dies ist eine großartige Funktion, die Sie jedoch möglicherweise irritiert. Zum Glück kann es deaktiviert werden.

Zunächst müssen Sie die ID der Maus wie folgt kennen:

$ xinput list | grep 'id='

was druckt so etwas wie

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜ PixArt Dell MS116 USB Optical Mouse       id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
  Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
  Power Button                              id=6    [slave  keyboard (3)]
  Video Bus                                 id=7    [slave  keyboard (3)]
  Power Button                              id=8    [slave  keyboard (3)]
  Sleep Button                              id=9    [slave  keyboard (3)]
  Dell KB216 Wired Keyboard                 id=10   [slave  keyboard (3)]
  Dell KB216 Wired Keyboard                 id=11   [slave  keyboard (3)]
  Eee PC WMI hotkeys                        id=13   [slave  keyboard (3)]

Meine Dell Usb-Maus hat hier gedruckt, für die ID = 12

So kann ich die Zuordnung meiner Maustaste wie folgt anzeigen:

$ xinput get-button-map 12

welche druckt

1 2 3 4 5 6 7 8 9 10 11 12

hier haben nur die ersten drei zahlen für mich bedeutung. Sie repräsentieren die linke, mittlere und rechte Maustaste.

Ich kann die mittlere Maustaste ausschalten, indem ich sie auf 0 setze:

$ xinput set-button-map 12 1 0 3

Oder ich verwandle die mittlere Maustaste in eine linke Maustaste, indem ich sie auf 1 setze:

$ xinput set-button-map 12 1 1 3

ref. Link https://wiki.ubuntu.com/X/Config/Input

es funktioniert bei mir (kubuntu 18.04 LTS)

Suraj Inamdar
quelle
Funktioniert perfekt für das Touchpad in Slackware 14.2 (KDE).
Firelord
Dies ist besser als alle oben genannten, die mit "Download XX" beginnen. Das einzige Problem, das ich hatte, ist, dass für xinput set-button-map 12 1 0 3Sie alle Tasten (1 - 12 für in dieser Exampe xinput set-button-map 12 1 0 3 4 5 6 7 8 9 10 11 12)
Blindguy
3

Hier ist, was Sie tun können, wenn Sie die Funktion für mittlere Klicks beibehalten möchten (zum Beispiel zum Öffnen von Links in neuen Registerkarten), ohne Dinge einzufügen.

Installieren Sie zuerst sxhkd und xsel .

Dann konfigurieren Sie ./.config/.sxhkd/sxhkdrc wie folgt

~button2
    echo -n | xsel -n -i
~control + c
    echo -n | xsel -n -i
~control + shift + c
    echo -n | xsel -n -i
~control + x
    echo -n | xsel -n -i

Und das war's auch schon.

Starten Sie nun sxhkd (oder konfigurieren Sie es so, dass es beim Start gestartet wird). Jetzt fügt die mittlere Maus nichts mehr ein, sondern funktioniert ansonsten wie gewohnt.

Cestarian
quelle
Damit können Sie immer noch die mittlere Maus zum Scrollen verwenden. Gute Lösung! Für mich war die Datei in~/.config/sxhkd/sxhkdrc
Atnas
1

Es ist eine übliche Konvention, an die sich viele Programme halten. Es gibt keine globale Möglichkeit, es zu deaktivieren. Sie müssen dies Programm für Programm durchführen.

BEARBEITEN: (Kurz, wie Gilles sagt, Maus-Taste 2 deaktivieren. Aber einige Programme haben andere Verwendungen für Maus-Taste 2, also würde ich dies nicht empfehlen.)

wnoise
quelle
1

BEARBEITEN: Ich habe gerade ein Problem mit der von mir geposteten Lösung gefunden: In einigen Programmen ( gitkzumindest nicht sicher, wie häufig es ist) funktioniert die Textauswahl nicht. Probieren Sie es aus, aber wenn Sie Probleme mit der Auswahl von Text in einem Programm haben, das Sie regelmäßig verwenden, besteht die Lösung darin, die Verwendung dieses Programms zu beenden.

Installieren Sie xseldas folgende Shell-Skript, und führen Sie es aus:

#!/bin/sh
while true; do
    xsel -fin </dev/null
done

Solange dieses Skript ausgeführt wird (Sie können festlegen, dass es beim Anmelden ausgeführt wird), wird die mittlere Maustaste in keine Anwendung eingefügt. So technisch wird es immer noch einfügen, aber es wird immer nichts zum Einfügen geben.

Die Art und Weise, wie es funktioniert, ist, dass es ausgeführt wird xselund -iden Inhalt von kopiert ( ) /dev/null, ohne in den Hintergrund zu -ntreten ( ) und diese leere Zeichenfolge tatsächlich im Puffer zu halten, anstatt sie nur zu löschen und zu beenden ( -f). Jedes Mal, wenn es beendet wird, wird es xselmit denselben Optionen erneut aufgerufen. Da so lange ausgeführt xselwird, bis ein anderes Programm durch Kopieren von etwas anderem "die Pflicht entlastet", werden nicht ständig neue Prozesse erstellt. Stattdessen wird ein einzelner Prozess so lange ausgeführt, bis er erneut benötigt wird. (Es sei denn, Sie haben mehrere Instanzen des Skripts ausgeführt, dies ist jedoch nicht erforderlich.)

Nein, dies beeinträchtigt nicht das normale Kopieren / Einfügen, da beim Einfügen mit mittlerem Klick eine separate Zwischenablage verwendet wird.

flarn2006
quelle
Danke! Ich benutze KDE und diese Lösung ist die EINZIGE, die für mich funktioniert.
Aloso
@Aloso Gern geschehen, denken Sie einfach an die Einschränkung oben. Wenn Sie jemals feststellen, dass Sie in einem Programm keinen Text auswählen können, ist dies höchstwahrscheinlich der Schuldige.
Flarn2006
Ja, ich habe dieses Problem im Firefox-Dialogfeld "Datei speichern" bemerkt. Jetzt schalte ich dieses Skript nur ein, wenn ich programmiere.
Aloso
@Aloso Okay dann;
Ich bin
0

Das ist mein Drehbuch. Möglicherweise müssen Sie die Einstellungen anpassen

#!/bin/bash 
clear
echo
echo
echo
echo -----Now fixing your scroll button --- -hold onto pants
echo
xinput --list|grep "Virtual core XTEST pointer"
echo ---------------------------------------------------------------------------------
echo


id=$(
xinput --list|grep "Virtual core XTEST pointer" |awk '{
        for(i=1; i<=NF; i++) {
                tmp=match($i, /id=[0-9]+/)
                if(tmp) {
                        print $i
                }
        }
}' $1 |  tr -d '[:alpha:]='
)

echo fixing $id:

xinput set-button-map $id  1 10 2 4 5 6 7 8 9 3

echo
echo
xinput get-button-map $id
echo ---------------------------------------------------------------------------------
Max Robbertze
quelle