it-swarm.dev

Jak mohu zakázat vložení prostředního tlačítka myši?

Existuje způsob, jak zakázat chování vložení prostředního tlačítka myši, které je ve výchozím nastavení na gnome?

Mám citlivé kolečko myši a pokaždé, když procházím texty, někdy do textu vloží věci náhodně. Ztrácím spoustu důvěryhodnosti, když posílám soubor někomu jinému, který má všude vložené náhodné textové úryvky.

Viděl jsem řešení , které jde mapováním prostředního tlačítka myši na neexistující tlačítko myši, ale to znamená úplné odstranění prostředního tlačítka myši (tj. Žádné uzavírání tabulátorů, otevírání odkazů do nová karta automaticky atd.). Chtěl bych ponechat prostřední tlačítko myši aktivní, pouze deaktivujte chování při vkládání.

K tomu také dochází, když posouvám text pomocí dotykového panelu (omylem zasáhl dva prsty, aniž by se pohnul, bum).

Problém tedy nebude vyřešen pouze změnou za novou myš (ve skutečnosti se domnívám, že se to stává častěji s mým touchpadem než s myší).

147
levesque

Chcete-li vyřešit problém, podívejte se prosím na tuto příručku jsem napsal

Nebo přímo - zde je záplata , abyste v GTK deaktivovali funkci „vložení prostředního tlačítka myši“.

17
Jelle Geerts

Používám nástroj gnome-Tweak pro deaktivaci vložení prostředního tlačítka v Ubuntu 16.04.

  1. Nainstalujte ji

    Sudo apt install gnome-Tweak-tool
    
  2. Spusťte jej vyhledáním nástroje Tweak v nainstalovaných aplikacích nebo jednoduše zadejte gnome-Tweak-tool v terminálu.

  3. Přejděte na „Klávesnice a myš“ -> „Vložit prostředním kliknutím“
  4. Vypnout.

    screenshot

A je to.

Nebo jen pomocí CLI

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

Testováno dne 16.04.

46
Sunny127

Jared Robinson dal jednoduché řešení , které funguje na mém počítači:

Spusťte následující příkaz:

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

Chcete-li toto chování přetrvávat, upravte ~/.Xmodmap a přidejte

pointer = 1 25 3 4 5 6 7 8 9
34
Jay Goldfarb

Uvědomuji si, že to není přesně ta odpověď, kterou chcete, ale můžete ji vypnout ve Firefoxu (např. Pokud vám tato funkce nevadí jinde, ale přesto chcete prostředním kliknutím v prohlížeči Firefox otevřít odkazy na nových kartách)

Přibližně: config, set

middlemouse.contentLoadURL false
middlemouse.paste false

Ne, co jste položili, ale protože tato otázka je spojena z několika míst, doufám, že někdo považuje tuto odpověď za užitečnou.

28
Ben

To v současné době není možné - i když, jak jste již zmínil, existují způsoby, jak deaktivovat tlačítko MOUSE 3 - nebo je přemapovat - žádný z nich se nedostane ke zdroji problému. Primární výběr X11.

I když to není řešení, doufejme, že toto vysvětlení objasní proč. V Ubuntu jsou v práci dvě schránky. Jedna, kterou všichni dobře znají, schránka freedesktop.org (zachycuje Ctrl+C příkaz) Druhým je správce schránky, který byl ve hře od doby, kdy Ubuntu vůbec existoval - X11. Server X (X11) spravuje tři další schránky: primární výběr, sekundární výběr a schránka. Když vyberete text s ukazatelem, zkopíruje se do vyrovnávací paměti v XServeru, primárním výběru a čeká na vložení pomocí tlačítka Mouse 3. Další dvě byly navrženy pro použití jinými aplikacemi způsobem sdílení společné schránky mezi aplikacemi. V tomto případě to již pro nás dělá správce schránky freedesktop.org v Ubuntu.

V rámci svého výzkumu nemůžu najít způsob, jak zakázat správce výběru X11. Neexistují žádné příznaky kompilace, aplikace ani konfigurační hodnoty, které by to mohly zakázat. Existují různé způsoby, jak to na základě jednotlivých aplikací (většina z nich je aplikací příkazového řádku) - ale nic v globálním měřítku.

Uvědomuji si, že to není ideální řešení - ale zdá se, že je to pravda. Jediným relevantním řešením, které jsem mohl shromáždit, je ve skutečnosti hack, vytvořte skript, který provádí nekonečnou smyčku, která právě nahrazuje primární výběr nulovou hodnotou.

První instalace xsel (Nástroj pro manipulaci s výběrem X) Sudo apt-get install xsel

Kód je následující:

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

Pokud to umístíte do skriptu a přidáte jej do spouštěcích skriptů, nemělo by to být problém.

21
Marco Ceppi

Nějak jsem skončil bez souborů xmodmap na mé instalaci Ubuntu, takže jsem musel najít jiný přístup k tomuto problému.

Podívejte se na příkaz xinput.

xinput list | grep -i mouse

který obsahuje informace o vaší myši. Ukazuje, že moje myš je „optická myš Dell Premium USB“ a také, že mám „emulaci tlačítka myši pro Macintosh“. Vyzbrojeni těmito informacemi mohu

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

což mi dává výpis, který vypadá

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

Zde jsou užitečné, požadované znalosti. Moje myš má teoreticky 18 tlačítek. Výchozí akce každého tlačítka má stejný název jako číslo tlačítka. Jinými slovy, tlačítko 1 provádí akci 1, tlačítko 4 provádí akci 4 atd. Akce 0 znamená „vypnuto“.

pozice v seznamu ukazuje funkci přiřazenou tomuto tlačítku. Takže pokud moje mapa tlačítek přečte

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

znamenalo by to, že tlačítko 1 (pozice 1) provede akci 1 (normální levé tlačítko), tlačítko 2 (pozice 2) provede akci 3 (prostřední tlačítko) a tlačítko 3 (pozice 3) provede akci 2 (pravé tlačítko).

Chcete-li, aby myš s levou rukou postačovala, potřebovala by se mapa tlačítek, která začíná

3 2 1 4 5 .....

Nebo ve vašem případě vypadá, že chcete, aby prostřední tlačítko udělalo totéž jako tlačítko 1 (levé tlačítko), takže mapa musí začít

1 1 3 ....

Resetoval jsem mapování tlačítek myši takto:

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

Ve vašem případě můžete mít odlišný počet mapovaných tlačítek a již máte definovanou speciální mapu tlačítek. Pravděpodobně má vaše myš jiné jméno. Nejprve získejte „jméno“ myši. Potom použijte operaci get-button-map k nalezení základní mapy tlačítek. nakonec použijte volbu set-button-map, upravte tlačítko 2 a proveďte akci 1.

Toto není trvalá změna. K mému . Bashrc jsem přidal potřebný kód, takže se spustí při každém přihlášení nebo otevření terminálu.

Snad to pomůže.

18
Wes Miller

Navrhuji použít jednu z těchto, která pro mě většinou dobře fungují:

pomocí xbindkeys: při každém stisknutí prostředního tlačítka vymažte primární schránku. Alespoň na mém systému je to vymazáno, než dojde k vložení. Podrobnosti: create xbindkeys-config:

xbindkeys --defaults > $HOME/.xbindkeysrc

Vložte následující novou klávesovou zkratku:

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

Znovu načtěte xbindkeys (např. Killall xbindkeys; xbindkeys). Hotovo.

using xdotool: Vymažte schránku při změně ostření okna (měla by fungovat s většinou správců oken). Podrobnosti: Spusťte následující příkaz:

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

Uvědomte si, že pomocí tohoto příkazu můžete stále používat primární schránku ve stejném okně nebo stisknout prostředníka do jiného okna PŘED zaostřením (pokud nemáte aktivováno „Zaostřování následuje myší“ nebo není aktivováno něco).

5
spawn

Jediná odpověď, která pro mě pracovala, byla dána na https://unix.stackexchange.com/a/277488/288916 Radivarig (všechny kredity jdou k němu). Všimněte si, že jsem musel udělat jednu změnu, i když aby to fungovalo:

Nainstalujte xbindkeys:

Sudo apt-get install xbindkeys xsel xdotool

Vytvořte konfigurační soubor pro xbindkeys ~/.xbindkeysrc s textem:

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

Načtěte konfigurační soubor pomocí

xbindkeys -p

Přidejte tento řádek do ~./Bashrc, aby se xbindkeys vždy při startu načítalo.

To pro mě funguje, ale Radivarig navrhuje místo toho použít linku

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

Tento poslední pro mě nefunguje, ale pokud verze nefunguje, navrhuji vyzkoušet druhou.

Po dlouhém pohledu na toto je jediné řešení, které jsem našel pro mě pracovat, které univerzálně vypíná tlačítko vložení prostřední myši, aniž by bylo nutné prostřední tlačítko myši úplně deaktivovat.


Všimněte si, že u existujících upvotovaných odpovědí buď neodpovídají na otázku, ale místo toho vám říkají, jak zcela zakázat prostřední tlačítko myši, nebo poskytují řešení, které funguje pouze v několika programech (Tweak-řešení pouze v terminálu gedit a gnome) a několik dalších), nebo jednoduše říkají, že je to nemožné.


odpověď spawn je podobného ducha a možná také funguje, neviděl jsem ji dříve, než jsem našel toto řešení.

3
Kvothe

Nejlepší způsob, jak jsem doposud našel, je použít EasyStroke, který může globálně zachytit kliknutí prostředním tlačítkem a umožnit chovat se jako prostřední tlačítko pouze v určitých aplikacích.

V EasyStroke můžete přidat „skupinu“, abyste mohli toto zachycení použít ve více aplikacích najednou. V některých mých textových editorech jsem nastavil vypínání prostředního kliknutí, IDE a pouze MATLAB) a funguje tak, jak bylo zamýšleno.

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

Kompletní návod EasyStroke: http://sourceforge.net/apps/trac/easystroke/wiki/Documentation

3
dbdq

Tady je to nejjednodušší řešení, které jsem našel, aby zůstal prostřední klik funkční, aniž by to vkládal věci.

První instalace sxhkd a xsel .

Poté nakonfigurujte ./. Config/.sxhkd/sxhkdrc podle toho

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

A to je v podstatě všechno.

Nyní spusťte sxhkd (nebo jej nakonfigurujte tak, aby se spouštěl při spuštění). Nyní prostřední myš už nebude nic vkládat, ale jinak bude fungovat jako normální. (Pokud používáte ke kopírování věcí pouze ctrl + ca ctrl + x, pokud kopírujete věci pomocí myši, můžete je vložit ještě jednou, než se vrátí do normálu.)

2
Cestarian

Toto chování vložení prostředního tlačítka myši je funkcí serveru X (a gpm na textové konzoli) a pokud vím, alespoň X.org nelze nakonfigurovat tak, aby jej deaktivoval - vše, co můžete udělat, je změnit mapování fyzických tlačítek myši, jak již navrhli ostatní.

Je pravděpodobné, že můžete touchpad nakonfigurovat tak, aby nedocházelo k nechtěným prostředním kliknutím, viz nastavení zařízení pro nastavení zařízení (ve výchozím nastavení není nainstalováno) nebo na synaptické stránce, pokud chcete pro konfiguraci použít editor.

2
Florian Diesch

odkaz níže opravil problém pro mě.

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

stránka, na kterou odkazuje výše uvedený odkaz, obsahuje část, jak zakázat vložení prostřední myši na posuvné kolečko, provedením několika příkazů může uživatel načíst mapování tlačítek myši a také změnit mapování. jak je vysvětleno na stránce, deaktivoval jsem prostřední tlačítko provedením příkazu:

$ xinput set-button-map 4 1 0 3
2
Ahmad Bawaneh

Možná budu mít částečnou odpověď, pokud používáte lenovo X ... s touchpoint/touchpad. K dispozici je „známá“ chyba s tlačítky synaptické myši. Pokud vyzkoušíte myš USB a nemáte žádný problém, ale s myší touchpad/touchpoint (vestavěnou do klávesnice) máte náhodné odpovědi, které mohou při psaní odstraňovat řádky textu, může to být chyba, o které mluvím .

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

Pokud to vyhovuje vaší situaci, přidejte své jméno do seznamu lidí, kteří tuto chybu identifikovali. Možná, pokud by nás o tom hlásilo mnohem více, opravilo by se to.

1
Jont Allen

Vyzkoušel jsem trik přesměrování xinputů a změnil prostřední tlačítko myši (ve skutečnosti kolo) tak, aby fungovalo stejně jako levé tlačítko myši. Stále to funguje jako kolo, a když jsem procházel kolem, zastavil (zřejmě) vkládání věcí na náhodná místa uprostřed mého zdrojového kódu.

V mém případě byl příkaz

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 podle modelu myši.

1
Stephen Bloch

Stejný problém jsem měl před několika měsíci a vyřešil jsem to změnou myši! Ale jako vy, byl jsem frustrovaný, že problém s jednoduchým mapováním tlačítek nelze elegantně vyřešit pomocí softwarové opravy. Naštěstí jsem měl problém na svém počítači práce a můj zaměstnavatel vlastní řadu náhradních ovladačů myši. Jednalo se o opravu bez nákladů!

Myslím, že správná implementace hardwaru myši by neměla posílat náhodná střední kliknutí během rolování. Nedávno jsem zjistil, že toto chování je nepříjemné i při používání systému Windows!

Nyní, když jsem opravil hardwarovou chybu správným hardwarovým řešením (změňte myš), začal jsem dokonce závislost na chování „vložení prostředním kliknutím“ !!

Happy linuxing!

S pozdravem

1
Jonathan

SW: Ubuntu 14.04, s Gnome ustoupí. HW: Mám notebook, takže prostřední tlačítko je vlastně myš na notebooku. Řešení: Přejděte do centra softwaru Ubuntu a stáhněte si Unity Tweak Tool. Spusťte nástroj Tweak Tool. V nastavení myši má přepínač pro zapnutí/vypnutí prostředního kliknutí vložit. Přeji krásný den.

1
user2712329

Je to víc než jen funkce gnome, myslím, že to funguje téměř všude, funguje také v konzole a myslím, že to fungovalo i v mém „Linuxu od nuly“.

Takže je to opravdu základní funkce možná i někde v jádře.

BTW: Je to opravdu užitečné a nejedná se o normální vložení jako Ctrl + V, vše, co je označeno kurzorem, jde do druhého úložiště a prostředním kliknutím můžete vložit to, co jste označili jako poslední.

0
phiphi

Pro aplikace Gnome můžete použít gnome-tweaks (nové jméno gnome-Tweak-tool balíček) na kartě „Klávesnice a myš“ je možnost „Vložit prostředním kliknutím“ nebo přímo upravit možnost Gnome org.gnome.desktop.interface/gtk-enable-primární-paste.

U aplikací KDE se zdá, že existuje ekvivalentní řešení .

Pro celý X (včetně jiných aplikací než Gnome) můžete nainstalovat XMousePasteBlock , který pak musí být spuštěn (uživatel je dostatečný, není vyžadován žádný root), aby mohl fungovat. Tím zcela zakážete vložení prostředního kliknutí, aniž byste deaktivovali ostatní funkce prostředního kliknutí.

0
Ilario Gelmetti

V KDE5 je v Ovládacích panelech možnost povolit/zakázat klepnutí na střed, které je zakázáno.

Sudo apt install xserver-xorg-input-synaptics

Po instalaci tohoto balíčku a restartu bude k dispozici možnost zakázat klepnutí středem.

0

Možná budete chtít zkusit emulovat myš se dvěma tlačítky. Pomocí myši se dvěma tlačítky vložíte kliknutím na obě tlačítka myši současně (spíše než na posuvné kolečko).

Nainstalujte nastavení gpointing-device:

Sudo aptitude install gpointing-device-settings

http://live.gnome.org/GPointingDeviceSettings

Alternativně, pokud si nepřejete instalovat nastavení gpointing-device a nejste obtěžováni možnostmi příkazového řádku, viz https://wiki.ubuntu.com/X/Config/Input Na stránce wiki existuje několik možností příkazového řádku/konfigurace, vyberte tu, kterou chcete.

0
Panther

Díky tomu, co jsem se dozvěděl ve výše uvedených příspěvcích, pro mě tento bash jednoplášť dokonale funguje ...

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