मैं सभी कार्यक्रमों में "मध्य माउस बटन पेस्ट" कार्यक्षमता कैसे बंद कर सकता हूं?


43

मुझे मध्य माउस बटन पेस्ट करना पसंद नहीं है, क्योंकि मैं अक्सर ग्रहण में असंगत कोड के साथ समाप्त होता हूं। मैं इसे कैसे बंद कर सकता हूं (सभी कार्यक्रमों में)? मैं फेडोरा चला रहा हूं।


4
चयन को सम्मिलित करने के लिए मध्य-क्लिक मूल रूप से X11 के काम करने का तरीका है; http://www.jwz.org/doc/x-cut-and-paste.html देखें ।
१२:४४ पर १

1
@ गिल्स: सभी कार्यक्रमों में। :)
derekhh

4
मैंने ऐसा करने का कोई तुच्छ तरीका नहीं देखा है कि मध्य माउस बटन को पूरी तरह से नुक्सान किए बिना या हैकिंग एक्स या सामान्य क्लिपबोर्ड के साथ खराब कर दिया है, इसलिए मेरा सुझाव दिया "समाधान" सिर्फ मध्य माउस बटन का ठीक से उपयोग करना सीखना है। यह अविश्वसनीय रूप से सुविधाजनक है कि किसी भी पाठ URL को हाइलाइट करने में सक्षम हो और मेरे (FF) ब्राउज़र विंडो में मध्य क्लिक करके उस पर जा सकता है।
jw013

4
@ephemient "चयन को सम्मिलित करने के लिए मध्य-क्लिक, X11 के काम करने के तरीके का मूलभूत रूप से हिस्सा है ..." जिस तरह से जब हमारे पास सूर्य ऑप्टिकल मूस था, जिसे सिग्नल प्राप्त करने के लिए मध्य बटन पर लगभग 1 पाउंड दबाव की आवश्यकता थी। आज मध्य बटन बाल ट्रिगर पर है और इसके अलावा एक पहिया के रूप में उपयोग किया जाता है, इस "मौलिक" को जाना है (एक्स btw में काफी "मौलिक" सामान के रूप में)।
डेविड टोनहोफर

3
मुझे लगता है कि आप जो चाहते हैं उसे निष्क्रिय करने की क्षमता लिनक्स का एक और भी अधिक मूलभूत पहलू है।
वेन ब्लॉस

जवाबों:


24

यह समाधान विश्व स्तर पर काम करेगा और मध्य माउस कार्यक्षमता को संरक्षित करेगा।

इंस्टॉल करें I xbindkeys xsel xdotool

इसमें लगाएं ~/.xbindkeysrc

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

पुनः लोड करें xbindkeys -p

xbindkeysस्टार्टअप पर, pkill xbindkeysबंद करने के लिए चलाएँ ।


7
धन्यवाद!!! मुझे विश्वास नहीं हो रहा है कि केवल 2 वर्षों के लिए एकमात्र कार्य समाधान 0 वोटों पर बैठा है।
रिट्रिड

4
अंत में, एक समाधान जिसने मेरे लिए उबंटू मेट पर 17.10 पर काम किया। धन्यवाद!
दिमित्री फ्रैंक

5
@spiil मैंने इस समाधान की कोशिश की और यह उस प्रभाव को प्राप्त करता है जो आप चाहते हैं। मैंने टेक्स्ट फ़ील्ड में मध्य-क्लिक किया और कुछ भी नहीं हुआ, लेकिन क्रोमियम, फ़ायरफ़ॉक्स, और वॉटरफ़ॉक्स (मैंने जिन तीन ब्राउज़रों का परीक्षण किया) में एक टैब के काम को बंद करने के लिए एक लिंक पर क्लिक करके मध्य-क्लिक किया।
user7214865

4
क्लिक-एंड-होल्ड मिडिल बटन द्वारा स्क्रॉल करना अब इस समाधान के साथ काम नहीं करता है: /
Marc.2377

2
तुम एक किंवदंती हो। मैंने स्क्रॉलिंग उद्देश्यों के लिए अपने ट्रैकबॉल पर मध्य बटन का उपयोग किया, लेकिन पेस्ट कार्यक्षमता ने मेरे जीवन को दयनीय बना दिया। अब यह फिर से पूरे चमकीले रंगों में है, धन्यवाद!
redsPL

16

Fedora 24 में आप gnome-tweak-toolनिम्नलिखित कमांड का उपयोग कर स्थापित कर सकते हैं :

$ sudo dnf install gnome-tweak-tool

खोलें gnome-tweak-toolऔर "कीबोर्ड और माउस" टैब पर जाएं और "मध्य-क्लिक-पेस्ट" को अक्षम करें।


4
यह Ubuntu 16.04 में भी उपलब्ध है: sudo apt-get install gnome-tweak-tool
Tyranin

1
यह केवल कुछ कार्यक्रमों को प्रभावित करता है जैसे कि गेडिट, गनोम-टर्मिनल और कुछ अन्य। Askubuntu.com/questions/4507/… पर भी टिप्पणी देखें ।
क्वॉथ

11

मध्य बटन का पेस्ट होना एक यूनिक्स उपयोगकर्ता इंटरफ़ेस मानक है, जैसे कि बाएं बटन का चयन करना या सक्रिय करना, और दायां बटन कुछ और करना (जैसे विस्तार करना, टॉगल करना, एक मेनू को फायर करना,…)। आप इसे अधिकांश यूनिक्स अनुप्रयोगों में चिपकाने के लिए बाध्य होंगे।

यदि आपकी समस्या यह है कि जब आप पहिया पर अपनी उंगली डालते हैं तो आपका माउस अत्यधिक संवेदनशील होता है, तो मेरा सुझाव है कि एक बेहतर माउस प्राप्त करें। सस्ते सभ्य चूहों के बहुत सारे हैं।

आप माउस बटन 2 को एक अलग संख्या में पुन: असाइन कर सकते हैं। एप्लिकेशन क्रमशः 1, 2 और 3 बटन के रूप में बाएं, मध्य और दाएं माउस बटन की पहचान करते हैं। इस कोड को उस स्क्रिप्ट में रखें जो आपके एक्स सेशन के शुरू होने पर निष्पादित हो (ऐसा कैसे करें जो आपके डेस्कटॉप वातावरण पर निर्भर करता है)।

echo 'pointer = 1 6 3 4 5' | xmodmap -

1
काम नहीं करता। pastebin.com/0DYYMDLS
balki

@ बलकी अजीब। यह निश्चित रूप से मेरे लिए काम करता है। इसलिए यह पता लगाने के लिए कि यह आपके लिए काम क्यों नहीं करता है, एक नया सवाल पूछें। आपके पास कौन सा X.org (या अन्य X सर्वर) का कौन सा संस्करण है, इसका उल्लेख करना सुनिश्चित करें कि आप इस पर कौन सा वितरण चला रहे हैं, और कौन से इनपुट डिवाइस जुड़े हुए हैं।
गिलेस एसओ- बुराई को रोकना '

2
मैं शर्त लगा रहा हूं कि अगर यह मानक है (मुझे पता है कि मैं नहीं) तो ओपी परवाह नहीं करता। कोई बात नहीं। माउस बटन क्रियाएं अधिक आसानी से अनुकूलन योग्य होनी चाहिए।
मार्क.2377

7

स्क्रॉलव्हील को दबाते समय स्क्रोलव्हील चूहे एक मध्य-बटन क्लिक घटना का समर्थन करते हैं। यह एक महान विशेषता है, लेकिन आप इसे परेशान कर सकते हैं। सौभाग्य से इसे निष्क्रिय किया जा सकता है।

सबसे पहले, आपको माउस की आईडी को इस तरह जानना होगा:

$ xinput list | grep 'id='

जो कुछ प्रिंट करता है

⎡ 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)]

मेरा डेल Usb माउस किस आईडी = 12 के लिए यहां प्रिंट किया गया है

इसलिए, मैं अपने माउस बटन को मैपिंग की तरह देख सकता हूं:

$ xinput get-button-map 12

जो प्रिंट करता है

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

यहाँ केवल पहले तीन नंबरों का मेरे लिए अर्थ है। वे बाएं, मध्य और दाएं माउस बटन का प्रतिनिधित्व करते हैं।

मैं 0 पर सेट करके मध्य माउस बटन को बंद कर सकता हूं:

$ xinput set-button-map 12 1 0 3

या मैं मध्य-माउस बटन को बाएं माउस बटन में बदल कर 1 पर सेट कर सकता हूं:

$ xinput set-button-map 12 1 1 3

संदर्भ। लिंक https://wiki.ubuntu.com/X/Config/Input

यह मेरे लिए काम करता है (kubuntu 18.04 LTS)


Slackware 14.2 (KDE) में टचपैड के लिए पूरी तरह से काम करता है।
फायरलॉर्ड

यह उपरोक्त में से किसी भी एक से बेहतर है जो "डाउनलोड एक्सएक्स" से शुरू होता है। मेरे पास एक ही मुद्दा था कि xinput set-button-map 12 1 0 3आप सभी बटन सेट करें (इस xinput set-button-map 12 1 0 3 4 5 6 7 8 9 10 11 12
परीक्षा

3

यहाँ आप क्या कर सकते हैं यदि आप चीजों को चिपकाए बिना मध्य क्लिक कार्यात्मक रखना चाहते हैं (उदाहरण के लिए नए टैब में लिंक खोलने के लिए क्लिक करें)।

सबसे पहले sxhkd और xsel स्थापित करें ।

फिर कॉन्फ़िगर करें ।/.config/.sxhkd/sxhkdrc जैसे

~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

और वह मूल रूप से यह है।

अब sxhkd शुरू करें (या इसे स्टार्टअप पर लॉन्च करने के लिए कॉन्फ़िगर करें)। अब, मध्य माउस अब कुछ भी पेस्ट नहीं करेगा, लेकिन अन्यथा सामान्य की तरह कार्य करेगा।


यह अभी भी आपको स्क्रॉल करने के लिए मध्य माउस का उपयोग करने देता है। अच्छा समाधान! मेरे लिए फ़ाइल में था~/.config/sxhkd/sxhkdrc
Atnas

1

यह एक सामान्य सम्मेलन है जो कई कार्यक्रमों का पालन करता है। इसे बंद करने का कोई वैश्विक तरीका नहीं है, आपको इसे प्रोग्राम के आधार पर प्रोग्राम पर करना होगा।

संपादित करें: (लघु, जैसा कि गिल्स कहते हैं, माउस बटन को अक्षम करना 2. लेकिन कुछ कार्यक्रमों में माउस बटन 2 के अन्य उपयोग हैं, इसलिए मैं इसकी सिफारिश नहीं करूंगा।)


1

संपादित करें: मैंने अभी जो समाधान पोस्ट किया है, उसके साथ एक मुद्दा मिला: कुछ कार्यक्रमों में ( gitkकम से कम, यह सुनिश्चित नहीं है कि यह कितना सामान्य है) यह पाठ चयन को काम करने से रोकेगा। इसलिए इसे आज़माएं, लेकिन अगर आपको नियमित रूप से उपयोग किए जाने वाले प्रोग्राम में पाठ का चयन करने में समस्या है, तो इसका उपयोग बंद करना है।

स्थापित करें xsel, और उसके बाद निम्न शेल स्क्रिप्ट चलाएँ:

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

जब तक यह स्क्रिप्ट चल रही है (आप इसे लॉगिन पर चलाने के लिए सेट कर सकते हैं) मध्य माउस बटन किसी भी एप्लिकेशन में पेस्ट नहीं होगा। तो तकनीकी रूप से यह अभी भी पेस्ट करेगा, लेकिन पेस्ट करने के लिए हमेशा कुछ नहीं होगा।

जिस तरह से यह काम करता है वह चलता है xselऔर इसकी पृष्ठभूमि ( ) के बिना -iसामग्री की प्रतिलिपि ( ) है , और वास्तव में इसे खाली करने और बाहर निकलने ( ) के बजाय बफर में उस खाली स्ट्रिंग को पकड़ना है । हर बार जब यह बाहर निकलता है, यह फिर से उसी विकल्पों के साथ आह्वान करेगा । चूँकि किसी अन्य प्रोग्राम को कॉपी करके कोई अन्य प्रोग्राम "ड्यूटी से छुटकारा दिलाता है" तब तक चलता रहेगा, तब तक यह लगातार नई प्रक्रियाओं का निर्माण नहीं करेगा, इसके बजाय एक प्रक्रिया को फिर से तब तक चालू रखेगा जब तक कि इसे फिर से ज़रूरत न हो। (जब तक आपके पास स्क्रिप्ट के कई उदाहरण हैं, लेकिन ऐसा करने की कोई आवश्यकता नहीं है।)/dev/null-n-fxselxsel

इसके अलावा, यह नियमित कॉपी / पेस्ट में हस्तक्षेप नहीं करेगा, क्योंकि मध्य-क्लिक पेस्ट एक अलग क्लिपबोर्ड का उपयोग करता है।


धन्यवाद! मैं केडीई का उपयोग करता हूं, और यह समाधान केवल एक ही है जो मेरे लिए काम करता है।
एलसो

@ एस्लो, आपका स्वागत है, बस शीर्ष पर केविएट को ध्यान में रखें। यदि आप कभी भी अपने आप को एक कार्यक्रम में पाठ का चयन करने में असमर्थ पाते हैं, तो यह सबसे अधिक संभावना है।
flarn2006

हां, मैंने फ़ायरफ़ॉक्स के "सेव फ़ाइल" संवाद में इस मुद्दे पर ध्यान दिया। अब मैं केवल इस स्क्रिप्ट को चालू करता हूं, जब मैं प्रोग्रामिंग कर रहा होता हूं।
एलसो

@ एस्लो ठीक है फिर; खुशी है कि यह अभी भी आपके लिए उपयोग है :)
flarn2006

0

यह मेरी पटकथा है। आपके लिए ट्विकिंग की आवश्यकता हो सकती है

#!/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 ---------------------------------------------------------------------------------
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.