Jak wyłączyć wklejanie środkowego przycisku myszy?


131

Czy istnieje sposób, aby wyłączyć zachowanie wklejania środkowego przycisku myszy, które jest tutaj domyślnie na gnome?

Mam czułe kółko myszy i za każdym razem, gdy przewijam tekst, czasami wkleja rzeczy losowo do tekstu. Tracę dość dużą wiarygodność, gdy wysyłam plik do kogoś, kto ma wklejone losowe fragmenty tekstu.

Widziałem rozwiązanie polegające na mapowaniu środkowego przycisku myszy na nieistniejący przycisk myszy, ale oznacza to całkowite pozbycie się środkowego przycisku myszy (tj. Brak zamykania kart, automatyczne otwieranie linków do nowej karty itp.) . Chciałbym utrzymać mój środkowy przycisk myszy aktywny, po prostu wyłącz zachowanie wklejania.

Dzieje się tak również wtedy, gdy przewijam tekst za pomocą touchpada (przypadkowo uderzam dwoma palcami bez ruchu, bam.)

Tak więc problem nie zostanie rozwiązany tylko przez zmianę na nową mysz (w rzeczywistości uważam, że zdarza się to częściej na moim touchpadzie niż na mojej myszy).


5
Naprawdę denerwujące zachowanie domyślne. Jak to wyłączyłeś?
umpirsky

5
Jeśli Twoja mysz rejestruje środkowe kliknięcia, a Ty po prostu chcesz przewijać, sugeruję wypróbowanie innego modelu myszy (prawdopodobnie takiego z wyższym naciskiem, aby kliknąć kółko). Po kilku latach używania Linuksa nigdy nie przejmowałem się twoim problemem, tak naprawdę pasta z środkowym kliknięciem okazała się całkiem przydatna :)
Maxime R.

3
@umpirsky Nie nazwałbym tego idiotycznym; zgadzam się jednak, że może to być dość irytujące (zwłaszcza przy zwykłym przewijaniu w programie graficznym)
Vreality

2
Mam ten sam problem i osobiście uważam go za gigantyczną wadę bezpieczeństwa. Kopiowanie haseł i kluczy nie jest rzadkością i przypadkowe wklejenie ich do losowych stron internetowych podczas próby przewijania lub pamięci mięśniowej jest koszmarem.
Ryan The Leach

2
Och, więc nie jestem sam, mając ten problem. Najpierw przestraszyłem się moich losowych tekstów wklejonych na niektórych danych wejściowych na stronach internetowych, ale dopiero po pewnym czasie uświadomiłem sobie, że jest to spowodowane przez system i odwzorowaną akcję wklejania do środkowego kliknięcia - i oczywiście to przypadkowo dzieje się na mojej myszy podczas przewijania. Mam nadzieję, że zostanie to usunięte jako domyślne w przyszłości.
Jurosh

Odpowiedzi:


16

Aby rozwiązać problem, zapoznaj się z tym przewodnikiem, który napisałem

Lub, bardziej bezpośrednio, oto łatka, która wyłącza funkcję „wklejania środkowego przycisku myszy” w GTK.


1
Korzystam z 64-bitowego systemu Ubuntu 12.04 z pakietem gtk 2.0-0_2.24.10, co nie powiodło się w linii dpkg-buildpackage. Nie budowałby się z niezatwierdzonymi lokalnymi zmianami, więc musiałem uruchomić dpkg-source --commit.
Sam King,

1
@Sam: Dzięki za zgłoszenie się. Najwyraźniej --source-option=--auto-commitmożna przekazać tę opcję dpkg-buildpackage(co jest nieco wygodniejsze, ponieważ nie trzeba edytować dziennika zmian). Zaktualizowałem przewodnik, aby to odzwierciedlić.
Jelle Geerts

1
Wypróbowałem to rozwiązanie, ale za każdym razem, gdy sudo apt-get build-dep libgtk2.0-0przechodzę do części, pojawia się błąd z Picking 'gtk+2.0' as source package instead of 'libgtk2.0-0' E: Unable to find a source package for gtk+2.0 pomocą?
FCTW

1
@FCTW: Podejrzewam, że przyczyną problemu jest to, że GTK3 zastąpił GTK2 we współczesnych dystrybucjach. Dlatego musisz znaleźć nazwę pakietu zainstalowanej biblioteki GTK3, uruchamiając polecenie podobne dpkg -l | grep libgtk. Prawdopodobnie jest to coś w rodzaju libgtk-3-0. Sprawdziłem swoją poprawkę do pracy we wczesnych wersjach GTK3; mam nadzieję, że nadal działa.
Jelle Geerts,

2
To wydaje się być jedyną odpowiedzią na pytanie. I niestety wydaje się przestarzały. Jakaś poprawka, która obecnie działa? (Ogólnie mam na myśli. Narzędzie do dostosowywania może wyłączyć je w niektórych programach, takich jak Gedit, ale nie w większości programów.)
Kvothe

42

Używam gnome-tweak-tool do wyłączania wklejania środkowego przycisku w Ubuntu 16.04.

  1. Zainstaluj to

    sudo apt install gnome-tweak-tool
    
  2. Uruchom go, wyszukując „narzędzie do ulepszania” w zainstalowanych aplikacjach lub po prostu wpisz gnome-tweak-toolterminal.

  3. Wybierz „Klawiatura i mysz” -> „Wklej środkowe kliknięcie”
  4. Wyłączyć.

    zrzut ekranu

Otóż ​​to.

Lub używając tylko CLI

gsettings set org.gnome.desktop.interface gtk-enable-primary-paste false

Testowane 16.04.


4
nie działa po ponownym uruchomieniu: '(
Ahmad Muzakki

13
Korzystanie z narzędzia Tweaks byłoby zdecydowanie najlepszym sposobem na zrobienie tego, gdyby działało. Wyłączyłem wklejanie środkowego kliknięcia i nadal jest tak samo jak poprzednio. To samo po ponownym uruchomieniu. Ktoś rozwiązał podobny problem?
Kvothe,

2
@Kvothe: Właśnie zauważyłem, że ustawienie narzędzi Tweak wydaje się wpływać tylko na niektóre standardowe programy Gnome, takie jak gedit, terminal gnome, kalkulator gnome itp. Zobacz także tinyurl.com/y7qtak7g (inne pytanie tutaj, bez odpowiedzi). Zauważyłem również, że wklejanie środkowego przycisku spowoduje skopiowanie dowolnego tekstu, który został ostatnio oznaczony, a nie tylko tego, co zostało wyraźnie skopiowane. Schowek zostanie następnie wypełniony tym tekstem. Naprawdę irytująca funkcja. (Gdy tekst był ostatnio oznaczone w standardowym programie Gnome jak gedit itp jednak, schowek po prostu być pusty na środkowym przyciskiem myszy.)
trollkotze

3
Interesujące jest również wyjaśnienie dziwnego zachowania nadpisywania bufora schowka środkowym kliknięciem przy użyciu bieżącego wyboru: askubuntu.com/a/225879/653860 (Ale niestety, całkowite wyłączenie środkowego przycisku myszy, jak zaproponowano w tej odpowiedzi, również wyłącza moje kółko myszy całkowicie. Wydaje się, że nie ma prostego sposobu na pozbycie się tego głupiego zachowania bez zniszczenia innych kluczowych funkcji wejściowych. Bardzo zły projekt ...: /)
trollkotze

2
„Schowek zostanie wtedy wypełniony tym tekstem. Naprawdę irytująca funkcja”. Okej, nie, muszę się poprawić. To nieprawda. Wygląda na to, że schowek kopiuj i wklej jest niezależny od dziwnego schowka środkowego kliknięcia. Środkowe kliknięcie zawsze wklei to, co jest aktualnie wybrane. Schowek pozostaje nienaruszony.
trollkotze

34

Jared Robinson podał proste rozwiązanie, które działa na moim komputerze:

Uruchom następujące polecenie:

xmodmap -e "pointer = 1 25 3 4 5 6 7 8 9"

Aby utrzymać to zachowanie, edytuj ~ / .Xmodmap i dodaj

pointer = 1 25 3 4 5 6 7 8 9

28
Czy to nie wyłącza całkowicie środkowego przycisku? Co z zamykaniem kart, otwieraniem linków do nowych kart itp.?
levesque,

3
Chociaż teoretycznie może to odpowiedzieć na pytanie, lepiej byłoby zawrzeć tutaj istotne części odpowiedzi i podać odnośnik.
Kris Harper,

21
@HDave Jak, u licha, powinno to zostać oznaczone jako odpowiedź na pytanie, które wyraźnie mówi, że widział rozwiązania, które wiążą środkową mysz z innym klawiszem, ale nieone zadowalające ? Właśnie to robi ta odpowiedź.
Thor84no

5
Czy ktoś może wyjaśnić, co oznacza ta seria magicznych liczb?
Neil Traft,

1
@Neil Traft Nie analizowałem zbyt dokładnie tej dokładnej konfiguracji, ale z mojego zrozumienia systemów zdarzeń wejściowych, gdy masz urządzenie wejściowe takie jak mysz, odsyła standardowe zdarzenia wejściowe po naciśnięciu przycisków, zdarzenia te mówią ci, że „stan zmienił przycisk „,” ten przycisk ma identyfikator X ”, a„ jego aktualny stan jest wciśnięty / zwolniony ”normalnie gtk modyfikuje odbierane zdarzenia wejściowe do mapowania przycisków ID [0,1,2,3,4,5,6,7,8 ] do [1,2,3,4,5,6,7,8,9] należy pamiętać, że tylko 3 pierwsze identyfikatory przycisków są używane na większości myszy, aby wskazać identyfikator przycisku dla lewej, środkowej i prawej. więc środek ma teraz identyfikator 25
SE

28

Zdaję sobie sprawę, że nie jest to dokładnie taka odpowiedź, jakiej chcesz, ale możesz ją wyłączyć w przeglądarce Firefox (np. Jeśli nie masz nic przeciwko tej funkcji w innym miejscu, ale nadal chcesz kliknąć środkowe kliknięcie w przeglądarce Firefox, aby otworzyć łącza w nowych kartach)

W about: config, ustaw

middlemouse.contentLoadURL false
middlemouse.paste false

Nie to, o co pytałeś, ale ponieważ to pytanie jest powiązane z kilku miejsc, mam nadzieję, że ktoś uzna tę odpowiedź za przydatną.


3
+1 To jest pomocne. Dodam też, że w LibreOffice możesz to zrobić, Tools/Options/LibreOffice/View/Mousezmieniając „Środkowy przycisk myszy” na preferowane ustawienie.
Tom Brossman

21

Obecnie nie jest to możliwe - chociaż, jak już wspomniałeś, istnieją sposoby na wyłączenie przycisku myszy MYSZ 3 - lub ponowne mapowanie - żaden z nich nie jest źródłem problemu. Podstawowy wybór X11.

Chociaż nie jest to rozwiązanie, mam nadzieję, że wyjaśnienie to wyjaśni, DLACZEGO. W Ubuntu działają dwa schowki. Jeden, z którym wszyscy są zaznajomieni, schowek freedesktop.org (przechwytuje Ctrl+ Cpolecenie) Drugi to menedżer schowka, który był w grze od czasów, zanim jeszcze Ubuntu istniał - X11. Serwer X (X11) zarządza trzech innych schowków: wstępnej selekcji , Secondary wyboru i schowka. Gdy zaznaczysz tekst za pomocą wskaźnika, zostanie on skopiowany do bufora w XServer, Primary Selection i oczekuje na wklejenie za pomocą przycisku Myszy 3. Pozostałe dwa zostały zaprojektowane do użycia przez inne aplikacje w celu współdzielenia wspólnego schowka między aplikacjami. W tym przypadku menedżer schowka freedesktop.org w Ubuntu już to dla nas robi.

W ramach moich badań nie mogę znaleźć sposobu na wyłączenie menedżera wyboru X11. Brak flag kompilacji, aplikacji lub wartości konfiguracyjnych, które mogłyby to wyłączyć. Istnieją różne sposoby rozwiązania tego problemu w zależności od aplikacji (większość z nich to aplikacje wiersza poleceń) - ale nic w skali globalnej.

Zdaję sobie sprawę, że nie jest to idealne rozwiązanie - ale wydaje się, że to prawda. Jedynym istotnym rozwiązaniem, które udało mi się zebrać, jest hack, stworzenie skryptu, który wykonuje nieskończoną pętlę while, która po prostu zastępuje Podstawową selekcję wartością zerową.

Pierwsza instalacja xsel(narzędzie do manipulacji zaznaczeniem X)sudo apt-get install xsel

Kod jest następujący:

while(true)
do
    echo -n | xsel -n -i
    sleep 0.5
done

Jeśli umieścisz to w skrypcie i dodasz do skryptów uruchamiania, nie powinno to stanowić problemu.


4
Czy jest jakaś szansa na skrypt, który po prostu wyczyści bufor zamiast anulować wszystkie selekcje?
levesque

2
podczas gdy (prawda)? Wygląda na to, że zabije procesor :)
umpirsky

Próbowałem mapować przyciski, dodając opcję „ButtonMapping” „1 1 3 4 5” do pliku xorg.conf, ale problem nadal występuje.
umpirsky

4
@umpirsky Nie while(true)stanowi to problemu, ponieważ pętla zawiera, sleep 0.5co zużywa pół sekundy czasu procesora w każdej z iteracji pętli. Z tego powodu (i niewielka waga xselwywołania polecenia, które obejmuje drugą część pętli), zasoby procesora zajmowane przez pętlę będą niezwykle małe, nawet na najwolniejszych maszynach Ubuntu.
Eliah Kagan

4
Wydaje się, że nie działa to dobrze w Unity, ponieważ skrypt usuwa wszelkie istniejące zaznaczenia w terminalu, co oznacza, że ​​nie można w żaden sposób kopiować testu z terminala (do czasu próby skopiowania tekst nie jest zaznaczony).
Fantius

18

Jakoś skończyłem bez plików xmodmap w mojej instalacji Ubuntu, więc musiałem znaleźć inne podejście do tego problemu.

Spójrz na polecenie xinput .

xinput list | grep -i mouse

która zawiera informacje o myszy. Pokazuje, że moja mysz to „Dell Premium USB Optical Mouse”, a także, że mam „emulację przycisku myszy Macintosh”. Uzbrojony w te informacje, mogę

xinput get-button-map "Dell Premium USB Optical Mouse"

co daje mi listę, która wygląda

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Oto przydatna, wymagana wiedza. Moja mysz ma teoretycznie 18 przycisków. Domyślna akcja każdego przycisku ma taką samą nazwę jak jego numer przycisku. Innymi słowy, przycisk 1 wykonuje działanie 1, przycisk 4 wykonuje działanie 4 itd. Działanie 0 oznacza „wyłączone”.

Pozycja w zestawieniu przedstawia funkcję przypisaną do tego przycisku. Więc jeśli moja mapa przycisków jest przeczytana

1 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 

oznaczałoby to, że przycisk 1 (pozycja 1) wykonuje akcję 1 (normalny lewy przycisk), przycisk 2 (pozycja 2) wykonuje akcję 3 (środkowy przycisk), a przycisk 3 (pozycja 3) wykonuje akcję 2 (prawy przycisk).

Aby stworzyć leworęczną mysz, wystarczyłaby mapa przycisków, która się rozpoczyna

3 2 1 4 5 .....

Lub, w twoim przypadku, wygląda na to, że chcesz, aby środkowy przycisk zrobił to samo, co przycisk 1 (lewy przycisk), więc twoja mapa musi się zacząć

1 1 3 ....

Zresetowałbym moje mapowania przycisków myszy w ten sposób:

xinput set-button-map "Dell Premium USB Optical Mouse" 1 1 3 5 6 6 7 8 9 10 11 12 13 14 15 16 17 18

W twoim przypadku możesz mieć inną liczbę zmapowanych przycisków i mieć już zdefiniowaną specjalną mapę przycisków. Podobnie, twoja mysz ma również inną nazwę. Najpierw uzyskaj „imię” myszy. Następnie użyj operacji get-button-map , aby znaleźć mapę przycisków podstawowych. na koniec użyj opcji set-button-map , modyfikując przycisk 2, aby wykonać akcję 1.

To nie jest trwała zmiana. Dodałem niezbędny kod do mojego .bashrc, aby działał przy każdym logowaniu lub otwarciu terminala.

Mam nadzieję że to pomoże.


Dzięki za informację. Wyjaśnia nieco więcej na temat przycisków myszy i zastosowanych do nich akcji. Jednak nie jest to rozwiązanie, którego szukam. Jeśli klikniesz lewym przyciskiem myszy kartę w Chrome (na przykład z mojego przykładu), wybierze ją (jeśli jeszcze nie została wybrana). Kliknięcie go środkowym przyciskiem spowoduje jego zamknięcie (tj. Bez klikania X). Brakuje mi również środkowego kliknięcia linku, aby otworzyć go w nowej karcie do późniejszego przeczytania. Zdaję sobie sprawę, że mogę pokonać te alternatywy, ale jestem przyzwyczajony do tego sposobu pracy ....
neildeadman

Tylko myśl; którykolwiek z pozostałych przycisków myszy, moje mówią, że mam 18 przycisków, chociaż fizycznie nie znalazłem więcej niż około 8 z nich) może być funkcją, którą chcesz. Spróbuj przyporządkować inne przyciski do trzeciego przycisku i sprawdź, czy znajdziesz coś przydatnego.
Wes Miller,

1
Jeśli zmienisz mapę jako mysz z dwoma przyciskami, nie powinna ona zmieniać funkcji koła, ponieważ rolki kół naciskają przyciski 5 i 6 (lub 7 i 8 lub coś w tym rodzaju).
Wes Miller

Mogę potwierdzić, że działa to zarówno na wbudowanym trackpadzie ThinkPad, jak i na klawiaturze Lenovo, która ma ten sam układ. get-button-mapNa klawiaturze Lenovo wraca z 22 przycisków dla mnie, ale to samo set-button-map <<name-or-id>> 1 0 3podejście działa dla mnie
Milimetric

to jest odpowiedź (choć myślę, że twój opis jest wyłączony) - get-button-map łączy pozycję na liście z fizycznym przyciskiem, co jest przeciwieństwem xmodmap, który łączy pozycję na liście z funkcją. Korzystając z mapy przycisków set, możemy zmapować dwa fizyczne przyciski do jednej logicznej pozycji. Działa dla mnie zenbook pro asus.
zzzeek

5

Sugeruję użycie jednego z nich, który działa dla mnie najlepiej:

za pomocą xbindkeys: po każdym naciśnięciu środkowego przycisku wyczyść główny schowek. Przynajmniej w moim systemie jest wyczyszczone, zanim nastąpi wklejanie. Szczegóły: utwórz xbindkeys-config:

xbindkeys --defaults > $HOME/.xbindkeysrc

Wklej następujący nowy skrót:

"xclip -i /dev/null"    
    b:2``

Załaduj ponownie xbindkeys (np. Killall xbindkeys; xbindkeys). Gotowy.

using xdotool: Wyczyść schowek przy zmianie fokusa okna (powinien działać z większością menadżerów okien). Szczegóły: wykonaj następujące polecenie:

xdotool search --onlyvisible . behave %@ focus exec xclip -i /dev/null

Zauważ, że za pomocą tego polecenia możesz nadal używać głównego schowka w tym samym oknie lub naciskać środkową myszkę na inne okno PRZED skupieniem go (jeśli nie masz aktywowanego „fokusu podąża za myszą” lub czegoś innego).


3

Najlepszym sposobem, jaki do tej pory znalazłem, jest użycie EasyStroke, który może globalnie przechwytywać kliknięcie środkowym przyciskiem i pozwalać zachowywać się jak środkowy przycisk tylko w niektórych aplikacjach.

Możesz dodać „grupę” w EasyStroke, aby zastosować to przechwytywanie w wielu aplikacjach jednocześnie. Ustawiłem wyłączanie środkowego kliknięcia w niektórych moich edytorach tekstu, tylko IDE i MATLAB i działa zgodnie z przeznaczeniem.

Odniesienie: http://ubuntuforums.org/showpost.php?p=11811126&postcount=25

Kompletna instrukcja EasyStroke: http://sourceforge.net/apps/trac/easystroke/wiki/Documentation


Dzięki z przyszłości za tę wskazówkę. Na początku zamierzałem po prostu użyć xinput, aby całkowicie go wyłączyć, i nie musiałem uruchamiać dodatkowego programu, ale EasyStroke umożliwił ustawienie grup, w których mógłbym wyłączyć środkowy przycisk dla niektórych aplikacji (głównie mojego edytora) i dodawać gesty do niektórych innych aplikacji i za pomocą środkowego przycisku. Jak dotąd działa dobrze (14.04 Gnome fallback).
Marty Fried

Dodano do mojego komentarza: po pewnym czasie używania EasyStroke zauważyłem, że często nie blokuje on środkowego kliknięcia. Ponieważ nie korzystałem z gestów, porzucam ten program dla xinput.
Marty Fried

2

To zachowanie wklejania środkowego przycisku myszy jest cechą serwera X (i gpm na konsoli tekstowej) i o ile wiem przynajmniej X.org nie może być skonfigurowany do wyłączania go - wszystko, co możesz zrobić, to zmienić mapowanie fizycznych przycisków myszy, jak sugerowali już inni.

Są duże szanse, że możesz skonfigurować touchpad, aby uniknąć niechcianych środkowych kliknięć, zobacz gpointing-device-settings (domyślnie nie instalowane) lub stronę synaptics, jeśli wolisz używać edytora do konfiguracji.


2

Oto najprostsze rozwiązanie, które znalazłem, aby utrzymać działanie środkowego kliknięcia bez wklejania.

Najpierw zainstaluj sxhkd i xsel .

Następnie skonfiguruj ./.config/.sxhkd/sxhkdrc w ten sposób

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

I w zasadzie to wszystko.

Teraz uruchom sxhkd (lub skonfiguruj, aby uruchamiał się przy starcie). Teraz środkowa mysz nie będzie już niczego wklejać, ale w przeciwnym razie będzie działać normalnie. (Tak długo, jak używasz tylko ctrl + c i ctrl + x, aby skopiować rzeczy, to znaczy, jeśli skopiujesz rzeczy za pomocą myszy, może wkleić jeden raz, zanim powróci do normy.)


1

Kilka miesięcy temu miałem ten sam problem i rozwiązałem go, zmieniając mysz! Ale, jako ty, byłem sfrustrowany, że prostego problemu z mapowaniem przycisków nie można elegancko rozwiązać za pomocą poprawki oprogramowania. Na szczęście miałem problem na komputerze roboczym, a mój pracodawca jest właścicielem wielu zapasowych kontrolerów myszy. To była poprawka bez kosztów!

Myślę, że odpowiednia implementacja sprzętowa myszy nie powinna wysyłać losowych środkowych kliknięć podczas przewijania. Ostatnio zauważyłem, że takie zachowanie jest denerwujące nawet podczas korzystania z systemu Windows!

Teraz, gdy naprawiłem błąd sprzętowy za pomocą odpowiedniego rozwiązania sprzętowego (zmień mysz), zacząłem nawet uzależniać się od zachowania „wklej po kliknięciu środkowym przyciskiem” !!

Szczęśliwego linuksa!

Szczerze


1

poniższy link naprawił dla mnie problem.

https://wiki.ubuntu.com/X/Config/Input#Example:_Disabling_middle-mouse_button_paste_on_a_scrollwheel_mouse

strona, do której odwołuje się powyższy link, zawiera sekcję dotyczącą wyłączania środkowej myszy na kółku przewijania, wykonując kilka poleceń, użytkownik może pobrać mapowanie przycisków myszy, a także zmienić mapowanie. jak wyjaśniono na stronie, wyłączyłem środkowy przycisk, wykonując polecenie:

$ xinput set-button-map 4 1 0 3

5
OP specjalnie wspomniał, że nie chce całkowicie wyłączać środkowego przycisku kliknięcia.
user369450,

1

SW: Ubuntu 14.04, z powrotem do Gnome. HW: Mam laptopa, więc środkowy przycisk to tak naprawdę mysz na / w laptopie. Rozwiązanie: Przejdź do centrum Ubuntu SW i pobierz narzędzie Unity Tweak. Uruchom narzędzie Tweak. W ustawieniach myszy ma przełącznik, aby włączyć / wyłączyć wkładkę środkowego kliknięcia. Miłego dnia.


Mam ten sam system. Pobrałem narzędzie Unity Tweak Tool i straciłem czas na przeglądanie każdego ustawienia, ale takiego ustawienia nie było. Być może miałeś na myśli „Tweak Tool”, czyli, jak sądzę, Gnome Tweak Tool. Ma ustawienie, chociaż nie działa.
Marty Fried

1

Próbowałem sztuczki przekierowującej xinput, zmieniając środkowy przycisk myszy (właściwie kółko), aby działał jak lewy przycisk myszy. Nadal działa jako koło i (najwyraźniej) przestał wklejać rzeczy w losowe miejsca w środku mojego kodu źródłowego podczas przewijania.

W moim przypadku polecenie było

xinput set-button-map "PixArt USB Optical Mouse" 1 1 3 4 5 6 7 8 9 10 11 12 13 14 15 16

ale YMMV według modelu myszy.


1

Może mam częściową odpowiedź, jeśli używasz Lenovo X ... z touchpadem / touchpadem. Istnieje „znany” błąd związany z przyciskami myszy synaptics. Jeśli spróbujesz myszy USB i nie będziesz mieć problemu, ale za pomocą touchpada / myszy touchpoint (wbudowanej w klawiaturę) masz losowe odpowiedzi, które mogą usuwać pokosy tekstu podczas pisania, to może być błąd, o którym mówię .

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1506817

Jeśli to pasuje do Twojej sytuacji, dodaj swoje imię i nazwisko do listy osób, które zidentyfikowały ten błąd, w tym raporcie o błędzie. Być może, jeśli zgłosi to znacznie więcej osób, zostanie to naprawione.


0

To coś więcej niż funkcja gnome, myślę, że działa prawie wszędzie, działa również w konsoli i myślę, że działał nawet w moim „Linuksie od zera”.

To naprawdę podstawowa funkcja, może nawet gdzieś w jądrze.

BTW: To jest naprawdę przydatne i nie jest to zwykła pasta jak Ctrl + V, wszystko, co jest oznaczone kursorem, przechodzi do drugiego magazynu, a za pomocą kliknięcia środkowego można wkleić to, co zaznaczyłeś jako ostatnie.


1
BTW2: Wkleja w miejscu kliknięcia, a nie w miejscu kursora Tekst.
phiphi

1
To wspaniale, że masz taką opinię, ale nie o to prosił OP!
Matt Fletcher,

0

Korzystając z tego, czego nauczyłem się w powyższych postach, ten bash jednoliniowy działa dla mnie idealnie ...

mouse_id=$(xinput list | grep 'Mouse' | awk '{print $9}' | sed 's/[^0-9]//g') && xinput set-button-map "$mouse_id" 1 0 3

2
OP specjalnie wspomniał, że nie chce całkowicie wyłączać środkowego przycisku kliknięcia.
user369450,

Zmodyfikowałem twój liniowiec, aby obsługiwał wiele myszy:xinput list | grep 'Mouse' | grep -o 'id=[0-9]*' | grep -o '[0-9]*' | xargs -i xinput set-button-map "{}" 1 0 3
Kurt

0

Możesz spróbować emulować mysz z dwoma przyciskami. Za pomocą myszy z dwoma przyciskami wklejasz, klikając oba przyciski myszy jednocześnie (zamiast kółka przewijania).

Zainstaluj ustawienia urządzenia gpointing:

sudo aptitude install gpointing-device-settings

http://live.gnome.org/GPointingDeviceSettings

Alternatywnie, jeśli nie chcesz instalować ustawień urządzenia gpointing i nie przeszkadzają ci opcje wiersza poleceń, zobacz https://wiki.ubuntu.com/X/Config/Input Na tej stronie wiki znajduje się kilka wiersza poleceń / opcje konfiguracji, wybierz tę, którą preferujesz.


Czy nadal pozwoli mi to przewijać aplikacje (takie jak Chrome) za pomocą kierownicy? Spróbuję, dzięki!
neildeadman

Aplikacja instaluje się, ale nie może zobaczyć, jak to może pomóc. Link do dokumentów jest zepsuty.
HDave

0

W przypadku aplikacji Gnome, których możesz używać gnome-tweaks(nowa nazwa gnome-tweak-toolpakietu) w zakładce „Klawiatura i mysz” jest dostępna opcja „Wklej środkowe kliknięcie” lub bezpośrednio edytuj opcję Gnome org.gnome.desktop.interface / gtk-enable-primary-paste.

W przypadku aplikacji KDE wydaje się, że istnieje równoważne rozwiązanie .

Dla całego X (w tym aplikacji innych niż Gnome) możesz zainstalować XMousePasteBlock, który następnie musi być uruchomiony (wystarczy, że użytkownik nie wymaga roota), aby działać. To całkowicie wyłącza wklejanie środkowego kliknięcia bez wyłączania innych funkcji środkowego kliknięcia.


0

Jedyna odpowiedź, która zadziałała dla mnie, została udzielona na https://unix.stackexchange.com/a/277488/288916 Radivarig (Wszystkie kredyty należą do niego). Pamiętaj, że musiałem wprowadzić jedną zmianę, aby działała:

Zainstaluj xbindkeys:

sudo apt-get install xbindkeys xsel xdotool

Utwórz plik konfiguracyjny dla xbindkeys ~/.xbindkeysrcz tekstem:

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

Załaduj plik konfiguracyjny za pomocą

xbindkeys -p

Dodaj ten wiersz do ~. / Bashrc, aby xbindkeys zawsze ładował się przy starcie.

To działa dla mnie, ale Radivarig sugeruje, aby zamiast tego użyć linii

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

Ten ostatni nie działa dla mnie, ale jeśli wersja nie działa, sugeruję wypróbować drugą.

Po długim czasie szukania jest to jedyne rozwiązanie, które dla mnie działa, które wyłącza środkowy przycisk wklejania myszy uniwersalnie bez konieczności całkowitego wyłączania środkowego przycisku myszy.


Zwróć uwagę, że w przypadku istniejących odpowiedzi głosowanych albo nie odpowiadają na pytanie, zamiast tego mówią ci, jak całkowicie wyłączyć środkowy przycisk myszy, lub dają rozwiązanie, które działa tylko w kilku programach (poprawianie rozwiązania tylko w terminalu gedit i gnome) i kilka innych) lub po prostu mówią, że to niemożliwe.


Odpowiedź spawn ma podobnego ducha i może również działać, nie widziałem go, zanim znalazłem to rozwiązanie.


-1

To dobre pytanie, na które nie mam (jeszcze) odpowiedzi. Szybkie i nieprzyzwoite obejście polega na ponownym przypisaniu NIE do 0, ale do 1. W ten sposób zmienia się środkowe „kliknięcie” w lewe kliknięcie i nie wpływa na twój scroller… Jest to jak dotąd najlepsze, co mogę wymyślić .

Uwaga: Te informacje pochodzą z forów Ubuntu , a nie z moich własnych noggin! :)


-3

sprawdziłeś gpm? Więcej informacji na stronie http://manpages.ubuntu.com/manpages/lucid/man8/gpm.8.html . Dostępne przez sudo aptitude install gpmjasne. Nie widzę jednak programu wyłączania-wklejania w pakiecie ubuntu, jednak opcja -A może być warta wypróbowania.


5
Nie rozumiem gpm .. w opisie pakietu stwierdzają: „Ten pakiet próbuje być użytecznym serwerem myszy dla aplikacji działających na konsoli Linux”. Co to ma wspólnego z aplikacjami działającymi w trybie okienkowym?
levesque
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.