ฉันจะปิดการใช้งานปุ่มกลางของเมาส์คลิกวางได้อย่างไร


131

มีวิธีการปิดการใช้งานพฤติกรรมการวางปุ่มกลางของปุ่มที่นี่โดยค่าเริ่มต้นใน gnome หรือไม่?

ฉันมีวงล้อเม้าส์ที่ไวต่อความรู้สึกและเมื่อใดก็ตามที่ฉันเลื่อนข้อความบางครั้งก็วางสิ่งต่าง ๆ ลงในข้อความ ฉันสูญเสียความน่าเชื่อถือค่อนข้างมากเมื่อฉันส่งไฟล์ไปยังบุคคลอื่นที่มีตัวอย่างข้อความแบบสุ่มวางอยู่ทั่ว

ฉันได้เห็นวิธีแก้ไขปัญหาที่เกิดจากการทำแผนที่ปุ่มกลางของเมาส์ไปยังปุ่มเมาส์ที่ไม่มีอยู่จริง แต่นั่นหมายถึงการกำจัดปุ่มกลางของเมาส์โดยสิ้นเชิง (เช่นไม่มีการปิดแท็บเปิดลิงก์เข้าสู่แท็บใหม่โดยอัตโนมัติ ฯลฯ ) . ฉันต้องการให้ปุ่มกลางของเมาส์ใช้งานได้เพียงปิดใช้งานพฤติกรรมการวาง

สิ่งนี้จะเกิดขึ้นเมื่อฉันเลื่อนข้อความด้วยทัชแพดของฉัน (กดสองนิ้วโดยไม่ตั้งใจโดยไม่ขยับ)

ดังนั้นปัญหาจะไม่ได้รับการแก้ไขเพียงแค่เปลี่ยนเมาส์ใหม่ (อันที่จริงฉันเชื่อว่ามันเกิดขึ้นบ่อยกับทัชแพดของฉันมากกว่าด้วยเมาส์ของฉัน)


5
พฤติกรรมเริ่มต้นที่น่ารำคาญจริงๆ คุณปิดการใช้งานได้อย่างไร
umpirsky

5
หากเมาส์ของคุณบันทึกเสียงคลิกกลางในขณะที่คุณต้องการเลื่อนฉันขอแนะนำให้คุณลองใช้เมาส์รุ่นอื่น (น่าจะเป็นรุ่นที่มีแรงกดดันสูงกว่าในการคลิกล้อ) หลังจากหลายปีของการใช้ลินุกซ์ผมไม่เคยรับการใส่ใจกับปัญหาของคุณจริงวางกลางคลิกพิสูจน์ตัวเองให้เป็นประโยชน์มาก :)
Maxime อาร์

3
@umpirsky ฉันแทบจะไม่เรียกมันว่างี่เง่า แต่ผมยอมรับว่ามันจะค่อนข้างน่ารำคาญ (โดยเฉพาะเมื่อเพียงแค่เลื่อนในโปรแกรมกราฟิก)
Vreality

2
ฉันมีปัญหาเดียวกันและโดยส่วนตัวถือว่าข้อบกพร่องด้านความปลอดภัยขนาดใหญ่ การคัดลอกรหัสผ่านและกุญแจไม่ใช่เรื่องแปลกและบังเอิญวางลงในเว็บไซต์สุ่มขณะพยายามเลื่อนหรือหน่วยความจำของกล้ามเนื้อเป็นฝันร้ายที่เป็นจริง
Ryan The Leach

2
โอ้ฉันไม่ได้มีปัญหานี้คนเดียว ครั้งแรกที่ฉันกลัวข้อความแบบสุ่มของฉันวางบนอินพุตบางส่วนบนเว็บไซต์หลังจากนั้นในขณะที่รู้ว่ามันเกิดจากระบบและการกระทำที่วางแมปกับการคลิกกลาง - และ ofc มันเกิดขึ้นกับเมาส์โดยบังเอิญเมื่อเลื่อน หวังว่าสิ่งนี้จะถูกลบเป็นค่าเริ่มต้นในอนาคต
Jurosh

คำตอบ:


16

สำหรับวิธีการแก้ไขปัญหาโปรดดูคำแนะนำที่ฉันเขียน

หรือเพิ่มเติมโดยตรงนี่คือแพทช์เพื่อปิดการใช้งานฟังก์ชั่น 'ปุ่มวางกลางเมาส์' ใน GTK


1
ฉันใช้ Ubuntu 12.04 64 บิตกับ gtk 2.0-0_2.24.10 และมันล้มเหลวในสาย dpkg-buildpackage มันจะไม่สร้างด้วยการเปลี่ยนแปลงในท้องถิ่นที่ปราศจากข้อผูกมัดดังนั้นฉันจึงต้องเรียกใช้ dpkg-source --commit
แซมคิง

1
@ Sam: ขอบคุณสำหรับหัวขึ้น เห็นได้ชัดว่า--source-option=--auto-commitสามารถส่งผ่านตัวเลือกไปยังdpkg-buildpackage(ซึ่งค่อนข้างสะดวกกว่าเนื่องจากไม่มีการแก้ไขบันทึกการเปลี่ยนแปลง) ฉันได้อัปเดตคำแนะนำเพื่อสะท้อนถึงสิ่งนี้แล้ว
Jelle Geerts

1
ฉันลองวิธีนี้แล้ว แต่ทุกครั้งที่ฉันไปถึงsudo apt-get build-dep libgtk2.0-0ส่วนที่ฉันพบข้อผิดพลาดกับPicking 'gtk+2.0' as source package instead of 'libgtk2.0-0' E: Unable to find a source package for gtk+2.0 Help
FCTW

1
@ FCTW: ฉันสงสัยว่าสาเหตุของปัญหาคือ GTK3 ได้แทนที่ GTK2 ในการแจกแจงที่ทันสมัย ดังนั้นคุณจะต้องไปหาชื่อแพคเกจของห้องสมุด GTK3 dpkg -l | grep libgtkที่ติดตั้งโดยใช้คำสั่งเช่น มันอาจเป็นอะไรอย่าง libgtk-3-0 ฉันได้ตรวจสอบแพทช์ของฉันเพื่อใช้กับ GTK3 เวอร์ชันแรกแล้ว; หวังว่ามันจะยังใช้งานได้
Jelle Geerts

2
นี่น่าจะเป็นคำตอบเดียวที่ตอบคำถามได้จริง และน่าเสียดายที่มันดูล้าสมัยไปแล้ว การแก้ไขใด ๆ ที่ใช้งานได้ในปัจจุบัน? (โดยทั่วไปฉันหมายถึงเครื่องมือปรับแต่งสามารถปิดได้ในบางโปรแกรมเช่น Gedit แต่ไม่ได้อยู่ในโปรแกรมส่วนใหญ่)
Kvothe

42

ฉันใช้ gnome-tweak-tool เพื่อปิดการใช้งานการวางปุ่มกลางใน Ubuntu 16.04

  1. ติดตั้ง

    sudo apt install gnome-tweak-tool
    
  2. รันโดยค้นหา "tweak tool" ในแอพที่ติดตั้งหรือเพียงแค่พิมพ์gnome-tweak-toolเทอร์มินัล

  3. ไปที่ "Keyboard and mouse" -> "คลิกกลางวาง"
  4. ปิด.

    ภาพหน้าจอ

แค่นั้นแหละ.

หรือใช้เพียง CLI

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

ทดสอบเมื่อวันที่ 16.04


4
มันไม่ทำงานหลังจากรีสตาร์ท: '(
Ahmad Muzakki

13
การใช้เครื่องมือ Tweaks จะเป็นวิธีที่ดีที่สุดหากทำเช่นนี้ ฉันปิดการวางคลิกกลางและยังคงวางคลิกกลางเหมือนเดิม เหมือนกันหลังจากรีสตาร์ท ใครแก้ปัญหาที่คล้ายกัน
Kvothe

2
@Kvothe: ฉันเพิ่งสังเกตเห็นว่าการตั้งค่าในเครื่องมือ Tweak ดูเหมือนจะส่งผลกระทบเฉพาะโปรแกรม Gnome มาตรฐานบางอย่างเช่น gedit, gnome-terminal, gnome-calculator เป็นต้นดูที่tinyurl.com/y7qtak7g (คำถามอื่นที่นี่ไม่มีคำตอบ) ฉันยังสังเกตเห็นว่าการวางปุ่มกลางจะคัดลอกข้อความใดก็ตามที่ทำเครื่องหมายไว้ล่าสุดไม่เพียง แต่คัดลอกอย่างชัดเจน คลิปบอร์ดจะถูกเติมด้วยข้อความนั้น คุณสมบัติที่น่ารำคาญจริงๆ (เมื่อข้อความถูกทำเครื่องหมายในโปรแกรม Gnome มาตรฐานเช่น gedit เป็นต้นอย่างไรก็ตามคลิปบอร์ดจะว่างเปล่าเมื่อคลิกกลาง)
trollkotze

3
สิ่งที่น่าสนใจคำอธิบายสำหรับพฤติกรรมการคลิกกลางแปลก ๆ ของการเขียนทับบัฟเฟอร์คลิปบอร์ดด้วยการเลือกปัจจุบัน: askubuntu.com/a/225879/653860 (แต่น่าเศร้าที่การปิดการใช้งานปุ่มกลางของเมาส์ทั้งหมดตามที่เสนอในคำตอบนั้นยังปิดการใช้งาน ล้อเมาส์ของฉันสมบูรณ์ดูเหมือนว่าไม่มีวิธีง่ายๆในการกำจัดพฤติกรรมโง่ ๆ นี้โดยไม่ทำลายฟังก์ชันการป้อนข้อมูลที่สำคัญอื่น ๆ การออกแบบที่แย่มาก ... : /)
trollkotze

2
"คลิปบอร์ดจะเต็มไปด้วยข้อความนั้นคุณสมบัติที่น่ารำคาญจริงๆ" โอเคไม่ฉันต้องแก้ไขตัวเอง ที่ไม่เป็นความจริง. ดูเหมือนว่าคลิปบอร์ดคัดลอกและวางไม่ขึ้นอยู่กับคลิปบอร์ดคลิกกลางแปลก ๆ การคลิกกลางจะวางสิ่งที่เลือกไว้ในปัจจุบันเสมอ คลิปบอร์ดนั้นไม่ได้รับผลกระทบใด ๆ
trollkotze

34

Jared Robinson ให้โซลูชันง่ายๆที่ใช้กับเครื่องของฉัน:

รันคำสั่งต่อไปนี้:

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

เพื่อคงพฤติกรรมนี้ให้แก้ไข ~ / .Xmodmap และเพิ่ม

pointer = 1 25 3 4 5 6 7 8 9

28
สิ่งนี้ไม่เพียงปิดการใช้งานปุ่มกลางโดยสิ้นเชิงใช่ไหม สิ่งที่เกี่ยวกับการปิดแท็บการเปิดลิงก์ไปยังแท็บใหม่ ฯลฯ
levesque

3
ในขณะที่สิ่งนี้อาจตอบคำถามในทางทฤษฎีมันก็ควรที่จะรวมส่วนที่สำคัญของคำตอบที่นี่และให้ลิงค์สำหรับการอ้างอิง
Kris Harper

21
@HDave วิธีนี้ควรถูกทำเครื่องหมายเป็นคำตอบสำหรับคำถามที่ระบุว่าเขาเห็นวิธีแก้ปัญหาที่ rebind เมาส์กลางไปยังคีย์ที่แตกต่างกัน แต่สิ่งเหล่านี้ไม่เป็นที่น่าพอใจ ? นั่นคือสิ่งที่คำตอบนี้ทำ
Thor84no

5
ทุกคนสามารถให้คำอธิบายเกี่ยวกับความหมายของตัวเลขเวทมนตร์นี้ได้หรือไม่?
Neil Traft

1
@ Neil Traft ฉันไม่ได้ดูการกำหนดค่าที่แน่นอนนี้มากเกินไป แต่จากความเข้าใจของฉันเกี่ยวกับระบบอินพุตเหตุการณ์เมื่อคุณมีอุปกรณ์อินพุตเหมือนเมาส์มันจะส่งกลับเหตุการณ์อินพุตมาตรฐานเมื่อกดปุ่มเหตุการณ์เหล่านี้บอกคุณว่า "ปุ่มเปลี่ยนสถานะ "," ปุ่มนั้นมี id X "และ" สถานะปัจจุบันถูกกด / ปล่อย "โดยปกติ gtk จะแก้ไขกิจกรรมอินพุตที่ได้รับไปยังปุ่มแผนที่รหัส [0,1,2,3,4,5,6,7,8 ] ถึง [1,2,3,4,5,6,7,8,9] โปรดทราบเฉพาะรหัสปุ่ม 3 ตัวแรกที่ใช้บนเมาส์ส่วนใหญ่เพื่อระบุรหัสปุ่มสำหรับซ้ายกลางและขวา ตอนนี้อยู่ตรงกลางดังนั้น id 25
SE

28

ฉันรู้ว่านี่ไม่ใช่คำตอบที่คุณต้องการ แต่คุณสามารถปิดสิ่งนี้ได้ใน Firefox (เช่นหากคุณไม่สนใจคุณสมบัติอื่น ๆ แต่ยังคงต้องการคลิกกลางใน Firefox เพื่อเปิดลิงก์ในแท็บใหม่)

ใน about: config ตั้งค่า

middlemouse.contentLoadURL false
middlemouse.paste false

ไม่ใช่สิ่งที่คุณถาม แต่เป็นคำถามที่เชื่อมโยงจากบางแห่งฉันหวังว่ามีคนพบคำตอบนี้มีประโยชน์


3
+1 นั่นเป็นประโยชน์ ฉันจะเพิ่มสิ่งนั้นใน LibreOffice คุณสามารถทำได้โดยTools/Options/LibreOffice/View/Mouseเปลี่ยน 'ปุ่มกลางของเมาส์' เป็นการตั้งค่าที่คุณต้องการ
Tom Brossman

21

ขณะนี้ยังไม่สามารถทำได้แม้ว่าจะมีวิธีปิดการใช้งานปุ่ม MOUSE 3 หรือไม่ทำการแมปใหม่โดยไม่ได้รับจากแหล่งที่มาของปัญหา การเลือกหลัก X11

แม้ว่านี่จะไม่ใช่วิธีแก้ปัญหา แต่หวังว่าคำอธิบายนี้จะทำให้ชัดเจนว่าทำไม ในอูบุนตูมีคลิปบอร์ดสองอันในที่ทำงาน หนึ่งซึ่งทุกคนคุ้นเคยกับคลิปบอร์ด freedesktop.org ( คำสั่งจับCtrl+ C) ที่สองเป็นผู้จัดการคลิปบอร์ดที่ได้รับการเล่นมาตั้งแต่ก่อนที่ Ubuntu ยังคงอยู่ - X11 เอ็กซ์ Server (X11) จัดการสาม clipboards อื่น ๆ : เลือกระดับประถมศึกษา , การเลือกรองและคลิปบอร์ด. เมื่อคุณเลือกข้อความด้วยตัวชี้ของคุณมันจะถูกคัดลอกไปยังบัฟเฟอร์ใน XServer ซึ่งเป็นการเลือกเบื้องต้นและรอการวางโดยใช้ปุ่มเมาส์ 3 อีกสองคนได้รับการออกแบบให้ใช้งานโดยแอปพลิเคชั่นอื่นในการแบ่งปันคลิปบอร์ดทั่วไประหว่างแอปพลิเคชัน ในกรณีนี้ผู้จัดการคลิปบอร์ด freedesktop.org ในอูบุนตูทำสิ่งนี้ให้กับเราแล้ว

จากขอบเขตการวิจัยของฉันฉันไม่สามารถหาวิธีปิดใช้งานเครื่องมือจัดการการเลือก X11 ได้ ไม่มีแฟล็กการรวบรวมแอปพลิเคชันหรือค่าการกำหนดค่าที่สามารถปิดใช้งานได้ มีวิธีต่าง ๆ เกี่ยวกับเรื่องนี้บนพื้นฐานของแต่ละแอปพลิเคชัน (ส่วนใหญ่ของแอปพลิเคชันเหล่านี้เป็นบรรทัดคำสั่ง) - แต่ไม่มีอะไรในระดับโลก

ฉันรู้ว่านี่ไม่ใช่วิธีแก้ปัญหาในอุดมคติ - แต่ดูเหมือนจะเป็นความจริงสำหรับปัญหา ทางออกที่เกี่ยวข้องเพียงอย่างเดียวที่ฉันสามารถรวบรวมได้คือแฮ็คสร้างสคริปต์ที่ดำเนินการไม่สิ้นสุดในขณะที่วนรอบที่แทนที่การเลือกหลักด้วยค่า Null

การติดตั้งครั้งแรกxsel(เครื่องมือสำหรับจัดการกับการเลือก X)sudo apt-get install xsel

รหัสดังต่อไปนี้:

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

หากคุณวางสิ่งนี้ไว้ในสคริปต์และเพิ่มลงในสคริปต์เริ่มต้นของคุณสิ่งนี้ไม่ควรเป็นปัญหา


4
มีโอกาสสำหรับสคริปต์ที่เพิ่งล้างบัฟเฟอร์แทนที่จะยกเลิกการเลือกทั้งหมดหรือไม่
levesque

2
ในขณะที่ (จริง)? ดูเหมือนว่ามันจะฆ่าซีพียู :)
umpirsky

ฉันได้ลองทำแผนที่ butons โดยเพิ่มตัวเลือก "ButtonMapping" "1 1 3 4 5" ไปยัง xorg.conf แต่ปัญหาขัดขืน
umpirsky

4
@umpirsky The while(true)ไม่ใช่ปัญหาเนื่องจากการวนซ้ำที่มีการsleep 0.5ปล่อยเวลา CPU ครึ่งวินาทีในการวนซ้ำแต่ละครั้ง เนื่องจาก (และความเบาของการxselเรียกใช้คำสั่งซึ่งประกอบด้วยส่วนอื่น ๆ ของลูป) ทรัพยากร CPU ที่ใช้โดยลูปจะมีขนาดเล็กมากแม้ในเครื่อง Ubuntu ที่ช้าที่สุด
Eliah Kagan

4
ดูเหมือนว่าวิธีนี้จะใช้งานไม่ได้กับ Unity เนื่องจากสคริปต์จะล้างการเลือกใด ๆ ที่มีอยู่ในเทอร์มินัลซึ่งหมายความว่าคุณไม่สามารถคัดลอกการทดสอบจากเทอร์มินัลด้วยวิธีใด ๆ (ตามเวลาที่คุณพยายามคัดลอก
Fantius

18

อย่างใดฉันลงเอยโดยไม่มีไฟล์ xmodmap บนการติดตั้ง Ubuntu ของฉันดังนั้นฉันจึงต้องหาวิธีอื่นในการแก้ไขปัญหานี้

ดูที่คำสั่งxinput

xinput list | grep -i mouse

ซึ่งแสดงข้อมูลเกี่ยวกับเมาส์ของคุณ มันแสดงให้เห็นว่าเมาส์ของฉันคือ "Dell Optical USB Optical Mouse" และฉันยังมี "การจำลองปุ่มเมาส์ Macintosh" ด้วยข้อมูลนั้นฉันทำได้

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

ซึ่งทำให้ฉันมีรายชื่อที่ดูเหมือน

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

นี่คือความรู้ที่มีประโยชน์และจำเป็น ในทางทฤษฎีฉันมีปุ่ม 18 ปุ่ม การกระทำเริ่มต้นของแต่ละปุ่มมีชื่อเดียวกับหมายเลขปุ่ม กล่าวอีกนัยหนึ่งปุ่ม 1 ทำการกระทำ 1 ปุ่ม 4 ดำเนินการ 4 ฯลฯ การกระทำ 0 หมายถึง "ปิด"

ตำแหน่งในรายชื่อที่แสดงให้เห็นการทำงานที่ได้รับมอบหมายจากปุ่มที่ ดังนั้นถ้าปุ่มแผนที่ของฉันอ่าน

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

นี่หมายถึงปุ่ม 1 (ตำแหน่งที่ 1) ทำสิ่งที่ 1 (ปุ่มซ้ายปกติ) ปุ่ม 2 (ตำแหน่ง 2) ดำเนินการ 3 (ปุ่มกลาง) และปุ่ม 3 (ตำแหน่ง 3) ดำเนินการ 2 (ปุ่มขวา)

ในการสร้างเมาส์มือซ้ายคุณจำเป็นต้องมีปุ่มแผนที่ที่เริ่มต้น

3 2 1 4 5 .....

หรือในกรณีของคุณดูเหมือนว่าคุณต้องการให้ปุ่มกลางทำสิ่งเดียวกับปุ่ม 1 (ปุ่มซ้าย) ดังนั้นแผนที่ของคุณต้องเริ่มต้น

1 1 3 ....

ฉันจะรีเซ็ตการแมปปุ่มเมาส์ของฉันดังนี้:

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

ในกรณีของคุณคุณอาจมีจำนวนปุ่มแมปที่แตกต่างกันและมีแผนที่ปุ่มพิเศษบางอย่างที่กำหนดไว้แล้ว เม้าส์ของคุณก็มีชื่อที่ต่างออกไปเช่นกัน ก่อนอื่นรับ "ชื่อ" เมาส์ของคุณ จากนั้นใช้การดำเนินการget-button-mapเพื่อค้นหาแผนที่ปุ่มฐานของคุณ ในที่สุดใช้ตัวเลือก set-button-mapปรับเปลี่ยนปุ่ม 2 เพื่อดำเนินการ 1

นี่ไม่ใช่การเปลี่ยนแปลงอย่างถาวร ฉันเพิ่มรหัสที่จำเป็นลงใน. bashrcของฉันดังนั้นมันจะเรียกใช้ทุกครั้งที่ฉันเข้าสู่ระบบหรือเปิดเทอร์มินัล

หวังว่านี่จะช่วยได้


ขอบคุณสำหรับข้อมูล. มันอธิบายเพิ่มเติมเล็กน้อยเกี่ยวกับปุ่มเมาส์และการกระทำที่ใช้กับพวกเขา อย่างไรก็ตามมันไม่ใช่ทางออกที่ฉันกำลังมองหา หากคุณคลิกซ้ายที่แท็บใน Chrome (เพื่อใช้ตัวอย่างของฉัน) แท็บนั้นจะเลือก (ถ้ายังไม่ได้เลือก) เมื่อคลิกด้วยปุ่มกลางจะเป็นการปิด (เช่นโดยไม่ต้องคลิก X) ฉันยังพลาดการคลิกกลางลิงก์เพื่อเปิดในแท็บใหม่เพื่ออ่านในภายหลัง ฉันรู้ว่าฉันสามารถเอาชนะสิ่งเหล่านี้ได้ด้วยวิธีอื่น แต่ฉันก็คุ้นเคยกับวิธีการทำงานนี้ ....
neildeadman

แค่ความคิด; ปุ่มอื่น ๆ บนเมาส์ของคุณฉันบอกว่าฉันมีปุ่ม 18 ปุ่มถึงแม้ว่าฉันยังไม่พบปุ่มทางกายภาพมากกว่า 8 ปุ่ม) อาจเป็นฟังก์ชั่นที่คุณต้องการ ลองทำแผนที่ปุ่มอื่น ๆ กับปุ่มที่สามของคุณและดูว่าคุณพบสิ่งที่มีประโยชน์หรือไม่
Wes Miller

1
หากคุณทำการแมปใหม่เป็นเมาส์ปุ่มสองปุ่มมันไม่ควรเปลี่ยนฟังก์ชั่นของวงล้อเนื่องจากล้อม้วนจะกดปุ่ม 5 และ 6 (หรือ 7 และ 8 หรืออะไรทำนองนั้น)
Wes Miller

ฉันสามารถยืนยันได้ว่าสิ่งนี้ใช้ได้ทั้งใน trackpoint ของ ThinkPad และแป้นพิมพ์ Lenovo ที่มีเค้าโครงเหมือนกัน get-button-mapบนแป้นพิมพ์ของเลอโนโวมาพร้อมกลับมาพร้อมกับ 22 ปุ่มสำหรับฉัน แต่เดียวกันset-button-map <<name-or-id>> 1 0 3วิธีการทำงานสำหรับฉัน
Milimetric

นี่คือคำตอบ (แม้ว่าฉันคิดว่าคำอธิบายของคุณปิดอยู่) - get-button-map เชื่อมโยงตำแหน่งในรายการไปยังปุ่มทางกายภาพซึ่งอยู่ตรงข้ามกับ xmodmap ซึ่งเชื่อมโยงตำแหน่งในรายการไปยังฟังก์ชัน ด้วยการใช้ set-button-map เราสามารถแมปปุ่มทางกายภาพสองปุ่มไปยังตำแหน่งตรรกะเดียว ทำงานบน asus zenbook pro สำหรับฉัน
zzzeek

5

ฉันขอแนะนำให้ใช้หนึ่งในสิ่งเหล่านี้ซึ่งส่วนใหญ่ทำงานได้ดีสำหรับฉัน:

ใช้ xbindkeys: เมื่อใดก็ตามที่กดปุ่มกลางให้ล้างคลิปบอร์ดหลัก อย่างน้อยในระบบของฉันจะถูกล้างก่อนที่จะเกิดการวาง รายละเอียด: สร้าง xbindkeys-config:

xbindkeys --defaults > $HOME/.xbindkeysrc

วางฮอตคีย์ใหม่ต่อไปนี้:

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

โหลด xbindkeys อีกครั้ง (เช่น killall xbindkeys; xbindkeys) เสร็จสิ้น

using xdotool: ล้างคลิปบอร์ดในการเปลี่ยนโฟกัสหน้าต่าง (ควรทำงานกับ windowmanagers ส่วนใหญ่) รายละเอียด: ดำเนินการคำสั่งต่อไปนี้:

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

โปรดทราบว่าด้วยคำสั่งนี้คุณยังสามารถใช้คลิปบอร์ดหลักภายในหน้าต่างเดียวกันหรือกดปุ่มตรงกลางไปยังหน้าต่างอื่นก่อนที่จะทำการโฟกัส (ถ้าคุณไม่มี "โฟกัสตามเมาส์" หรือเปิดใช้งานบางอย่าง)


3

วิธีที่ดีที่สุดที่ฉันพบคือการใช้ EasyStroke ซึ่งสามารถสกัดกั้นการคลิกปุ่มกลางทั่วโลกและอนุญาตให้ทำงานเป็นปุ่มกลางในแอพบางตัวเท่านั้น

คุณสามารถเพิ่ม "กลุ่ม" ใน EasyStroke เพื่อใช้การสกัดกั้นนี้ในหลายแอพพลิเคชั่นในครั้งเดียว ฉันได้ตั้งค่าให้ปิดการคลิกตรงกลางในเครื่องมือแก้ไขข้อความบางตัว IDE และ MATLAB เท่านั้นและทำงานได้ตามที่ต้องการ

การอ้างอิง: http://ubuntuforums.org/showpost.php?p=11811126&postcount=25

ทำตามขั้นตอน EasyStroke ให้สมบูรณ์: http://sourceforge.net/apps/trac/easystroke/wiki/Documentation


ขอบคุณจากอนาคตสำหรับเคล็ดลับนั้น ในตอนแรกฉันจะใช้ xinput เพื่อปิดการใช้งานโดยสิ้นเชิงและไม่จำเป็นต้องเรียกใช้โปรแกรมพิเศษบางอย่าง แต่ EasyStroke ทำให้สามารถตั้งกลุ่มที่ฉันสามารถปิดการใช้งานปุ่มกลางสำหรับแอพบางตัว (ตัวแก้ไขของฉัน) และ เพิ่มท่าทางให้แอพอื่น ๆ และใช้ปุ่มกลาง จนถึงตอนนี้ใช้งานได้ดี (14.04 Gnome fallback)
Marty ผัด

เพิ่มความคิดเห็นของฉัน: หลังจากใช้ EasyStroke ไประยะหนึ่งฉันพบว่ามันมักจะล้มเหลวในการปิดกั้นการคลิกกลาง เนื่องจากฉันไม่ได้ใช้ท่าทางฉันจึงละทิ้งโปรแกรมนี้เพื่อ xinput
Marty ผัด

2

พฤติกรรมการวางปุ่มปุ่มกลางของเมาส์นี้เป็นคุณสมบัติของเซิร์ฟเวอร์ X (และ gpm บนคอนโซลข้อความ) และเท่าที่ฉันรู้ว่าอย่างน้อย X.org ไม่สามารถกำหนดค่าให้ปิดใช้งานได้ - สิ่งที่คุณทำได้คือเปลี่ยนการทำแผนที่ ของปุ่มเมาส์ทางกายภาพตามที่คนอื่นแนะนำไว้แล้ว

โอกาสที่ดีที่คุณสามารถกำหนดค่าทัชแพดของคุณเพื่อหลีกเลี่ยงการคลิกกลางที่ไม่ต้องการดู gpointing-device-settings (ไม่ได้ติดตั้งโดยค่าเริ่มต้น) หรือหน้า synaptics ถ้าคุณต้องการใช้โปรแกรมแก้ไขเพื่อกำหนด


2

นี่เป็นวิธีที่ง่ายที่สุดที่ฉันพบเพื่อให้การคลิกกลางทำงานได้โดยไม่ต้องวางสิ่งต่าง ๆ

ก่อนติดตั้งsxhkdและxsel

จากนั้นกำหนดค่า. /.config/.sxhkd/sxhkdrcอย่างนั้น

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

และนั่นเป็นพื้น

ตอนนี้เริ่ม sxhkd (หรือกำหนดค่าให้เปิดเมื่อเริ่มต้น) ตอนนี้เมาส์ตรงกลางจะไม่วางอะไรอีกต่อไป (ตราบใดที่คุณใช้เพียง ctrl + c และ ctrl + x เพื่อคัดลอกสิ่งต่าง ๆ นั่นคือถ้าคุณคัดลอกสิ่งต่าง ๆ ด้วยเมาส์มันสามารถวางหนึ่งครั้งก่อนที่มันจะกลับสู่ปกติ)


1

ฉันมีปัญหาเดียวกันเมื่อสองสามเดือนที่ผ่านมาและฉันแก้ไขมันโดยการเปลี่ยนเมาส์! แต่ในขณะที่ฉันรู้สึกผิดหวังที่ปัญหาการแมปปุ่มอย่างง่ายไม่สามารถแก้ไขได้อย่างสวยงามโดยการแก้ไขซอฟต์แวร์ โชคดีที่ฉันมีปัญหาเกี่ยวกับคอมพิวเตอร์ทำงานของฉันและนายจ้างของฉันเป็นเจ้าของตัวควบคุมเมาส์สำรองที่หลากหลาย มันเป็นการแก้ไขที่ไม่มีค่าใช้จ่าย!

ฉันคิดว่าการใช้งานฮาร์ดแวร์เมาส์ที่เหมาะสมไม่ควรส่งการคลิกกลางแบบสุ่มขณะเลื่อน เมื่อเร็ว ๆ นี้ฉันพบว่าพฤติกรรมนี้น่ารำคาญแม้ในขณะที่ใช้ Windows!

ตอนนี้ฉันได้แก้ไขข้อผิดพลาดของฮาร์ดแวร์ด้วยวิธีแก้ไขปัญหาฮาร์ดแวร์ที่เหมาะสม (เปลี่ยนเมาส์) ฉันยังเริ่มติดพฤติกรรม "วางที่คลิกกลาง" พฤติกรรม !!

linuxing มีความสุข!

sincerly,


1

ลิงก์ด้านล่างแก้ไขปัญหาให้ฉัน

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

หน้าที่อ้างอิงโดยลิงค์ด้านบนมีส่วนสำหรับวิธีการปิดการใช้งานวางเมาส์กลางบนล้อเลื่อนโดยการดำเนินการคำสั่งบางอย่างที่ผู้ใช้สามารถดึงการแมปปุ่มเมาส์และยังสามารถเปลี่ยนการทำแผนที่ ตามที่อธิบายในหน้า i ปิดการใช้งานปุ่มกลางโดยดำเนินการคำสั่ง:

$ xinput set-button-map 4 1 0 3

5
OP ที่กล่าวถึงเป็นพิเศษเขาไม่ต้องการปิดการใช้งานปุ่มคลิกกลางอย่างสมบูรณ์
user369450

1

SW: Ubuntu 14.04 โดย Gnome ถอยกลับ HW: ฉันมีแล็ปท็อปดังนั้นปุ่มตรงกลางจึงเป็นเมาส์บน / ในแล็ปท็อป วิธีแก้ไข: ไปที่ศูนย์ Ubuntu SW และดาวน์โหลด Unity Tweak Tool เริ่มเครื่องมือปรับแต่ง ภายใต้การตั้งค่าเมาส์จะมีการสลับเพื่อเปิด / ปิดการแทรกคลิกกลาง ขอให้มีวันที่ดี.


ฉันมีระบบเดียวกัน ฉันดาวน์โหลด Unity Tweak Tool และเสียเวลาดูทุกการตั้งค่า แต่ไม่มีการตั้งค่าดังกล่าว บางทีคุณอาจหมายถึง "Tweak Tool" ซึ่งก็คือฉันคิดว่า Gnome Tweak Tool มันมีการตั้งค่าแม้ว่ามันจะไม่ทำงาน
Marty ผัด

1

ฉันลองใช้เคล็ดลับ xinput-redirection เปลี่ยนปุ่มกลางของปุ่ม "" (จริง ๆ แล้วเป็นวงล้อ) ดังนั้นมันจึงทำหน้าที่เหมือนปุ่มซ้ายของเมาส์ มันยังใช้งานได้เหมือนล้อรถและได้หยุด (วาง) สิ่งต่าง ๆ ลงในสถานที่สุ่มในช่วงกลางของซอร์สโค้ดของฉันเมื่อฉันเลื่อนผ่าน

ในกรณีของฉันคำสั่งคือ

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

แต่ YMMV โดยรุ่นเมาส์


1

ฉันอาจมีคำตอบบางส่วนสำหรับคุณถ้าคุณใช้ lenovo X ... กับ touchpoint / touchpad มีบั๊ก "รู้จัก" พร้อมปุ่มเมาส์ synaptics หากคุณลองใช้เมาส์ USB และไม่มีปัญหา แต่ด้วยเมาส์ทัชแพด / ทัชพอยต์ (สร้างไว้ในแป้นพิมพ์) คุณจะมีการตอบกลับแบบสุ่มที่สามารถลบข้อความจำนวนมากในขณะที่คุณพิมพ์นี่อาจเป็นข้อผิดพลาดที่ฉันพูดถึง .

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

หากสิ่งนี้เหมาะกับสถานการณ์ของคุณให้เพิ่มชื่อของคุณในรายชื่อคนที่ระบุจุดบกพร่องนี้ในรายงานข้อผิดพลาดนั้น บางทีถ้ามีพวกเราหลายคนรายงานเรื่องนี้มันจะได้รับการแก้ไข


0

มันเป็นมากกว่าคุณสมบัติของ gnome ฉันคิดว่ามันใช้งานได้เกือบทุกที่มันใช้งานได้ในคอนโซลด้วยและฉันคิดว่ามันใช้งานได้แม้ใน "Linux from Scratch" ของฉัน

ดังนั้นมันจึงเป็นคุณสมบัติพื้นฐานจริงๆแม้กระทั่งบางที่ในเคอร์เนล

BTW: มันมีประโยชน์จริง ๆ และไม่ใช่วางทั่วไปเช่น Ctrl + V ทุกอย่างที่ทำเครื่องหมายด้วยเคอร์เซอร์จะอยู่ในที่เก็บข้อมูลที่สองและด้วยการคลิกกลางสามารถวางสิ่งที่คุณทำเครื่องหมายไว้ล่าสุด


1
BTW2: วางที่คุณคลิกไม่ใช่ตำแหน่งของเคอร์เซอร์ข้อความ
phiphi

1
เป็นเรื่องดีที่คุณมีความเห็นนั้น แต่นั่นไม่ใช่สิ่งที่ OP ขอมา!
Matt Fletcher

0

ใช้สิ่งที่ฉันได้เรียนรู้ในโพสต์ด้านบนนี้ทุบตีหนึ่งซับทำงานได้อย่างสมบูรณ์แบบสำหรับฉัน ...

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 ที่กล่าวถึงเป็นพิเศษเขาไม่ต้องการปิดการใช้งานปุ่มคลิกกลางอย่างสมบูรณ์
user369450

ฉันแก้ไขหนึ่งซับของคุณเพื่อรองรับหนูหลายตัว:xinput list | grep 'Mouse' | grep -o 'id=[0-9]*' | grep -o '[0-9]*' | xargs -i xinput set-button-map "{}" 1 0 3
Kurt

0

คุณอาจต้องการลองจำลองเมาส์ปุ่มสองปุ่ม ด้วยเมาส์ปุ่มสองปุ่มคุณวางโดยการคลิกปุ่มเมาส์ทั้งสองในเวลาเดียวกัน (แทนที่จะเป็นล้อเลื่อน)

ติดตั้งการตั้งค่าอุปกรณ์ชี้ตำแหน่ง:

sudo aptitude install gpointing-device-settings

http://live.gnome.org/GPointingDeviceSettings

อีกวิธีหนึ่งถ้าคุณไม่ต้องการติดตั้ง gpointing-device-settings และคุณไม่ต้องกังวลกับตัวเลือกบรรทัดคำสั่งโปรดดูที่https://wiki.ubuntu.com/X/Config/Inputหน้าวิกินี้มีบรรทัดคำสั่งหลายบรรทัด / ตัวเลือกการกำหนดค่าให้เลือกตัวเลือกที่คุณต้องการ


สิ่งนี้จะทำให้ฉันสามารถเลื่อนดูแอพ (เช่น Chrome) ด้วยล้อเลื่อนได้หรือไม่? ฉันจะลองดูนะขอบคุณ!
neildeadman

แอปติดตั้ง แต่ไม่เห็นว่าจะช่วยได้อย่างไร ลิงก์ไปยังเอกสารเสียหาย
HDave

0

สำหรับแอปพลิเคชัน Gnome คุณสามารถใช้gnome-tweaks(ชื่อgnome-tweak-toolแพ็คเกจใหม่) ใต้แท็บ "Keyboard & Mouse" มีตัวเลือก "Middle Click Paste" หรือแก้ไขตัวเลือกโดยตรงได้ที่ org.gnome.desktop.interface / gtk-enable-primary-paste Gnome

สำหรับการใช้งาน KDE ดูเหมือนว่ามีการแก้ปัญหาที่เทียบเท่า

สำหรับ X ทั้งหมด (รวมถึงแอปพลิเคชันที่ไม่ใช่ Gnome) คุณสามารถติดตั้งXMousePasteBlockซึ่งจะต้องมีการเรียกใช้ (โดยผู้ใช้ก็เพียงพอไม่จำเป็นต้องใช้รูท) เพื่อทำงาน สิ่งนี้จะปิดการวางคลิกกลางโดยสมบูรณ์โดยไม่ปิดการใช้งานฟังก์ชั่นคลิกกลางอื่น ๆ


0

คำตอบเดียวที่ได้ผลสำหรับฉันได้รับในhttps://unix.stackexchange.com/a/277488/288916 Radivarig (เครดิตทั้งหมดไปหาเขา) โปรดทราบว่าฉันต้องทำการเปลี่ยนแปลงหนึ่งครั้งเพื่อให้ทำงานได้:

ติดตั้ง xbindkeys:

sudo apt-get install xbindkeys xsel xdotool

สร้างไฟล์กำหนดค่าสำหรับ xbindkeys ~/.xbindkeysrcด้วยข้อความ:

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

โหลดไฟล์กำหนดค่าโดยใช้

xbindkeys -p

เพิ่มบรรทัดนี้ใน ~. / bashrc เพื่อให้ xbindkeys โหลดเมื่อเริ่มต้นเสมอ

นี่คือสิ่งที่ใช้ได้ผลสำหรับฉัน แต่สิ่งที่ Radivarig แนะนำคือแทนที่จะใช้สาย

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

อันสุดท้ายนี้ใช้ไม่ได้กับฉัน แต่ถ้ารุ่นไม่ทำงานฉันขอแนะนำให้ลองอีกอัน

หลังจากดูเป็นเวลานานนี่เป็นวิธีแก้ปัญหาเดียวที่ฉันพบว่าใช้งานได้สำหรับฉันที่ปิดปุ่มวางกลางเมาส์โดยทั่วไปโดยไม่ต้องปิดการใช้งานปุ่มกลางของเมาส์อย่างสมบูรณ์


โปรดทราบว่าสำหรับคำตอบ upvote ที่มีอยู่พวกเขาไม่ตอบคำถามแทนที่จะบอกวิธีปิดใช้งานปุ่มกลางของเมาส์อย่างสมบูรณ์หรือให้วิธีแก้ปัญหาที่ใช้งานได้ในโปรแกรมเพียงไม่กี่โปรแกรมเท่านั้น (tweak-solution เฉพาะใน gedit และ gnome terminal และอีกสองสามคน) หรือพวกเขาบอกว่ามันเป็นไปไม่ได้


คำตอบของวางไข่เป็นวิญญาณที่คล้ายกันและอาจทำงานได้ฉันไม่เห็นก่อนที่จะพบวิธีแก้ปัญหานี้


-1

นั่นเป็นคำถามที่ดีซึ่งฉันยังไม่มีคำตอบสำหรับ (ยัง) วิธีแก้ปัญหาที่รวดเร็วและสกปรกคือทำการแมปใหม่ไม่เป็น 0 แต่ต่อ 1 ด้วยวิธีนี้จะเปลี่ยนตรงกลาง - "คลิก" เป็นคลิกซ้ายและไม่ส่งผลกระทบต่อ scroller ของคุณ ... มันเป็นสิ่งที่ดีที่สุดที่ฉันสามารถนึกได้ .

หมายเหตุ: ข้อมูลนี้มาจากฟอรัม Ubuntuไม่ใช่ของฉันเอง! :)


-3

คุณตรวจสอบแกลลอนต่อนาทีหรือไม่ ข้อมูลเพิ่มเติมได้ที่http://manpages.ubuntu.com/manpages/lucid/man8/gpm.8.html มีให้ผ่านทางsudo aptitude install gpmon lucid ฉันไม่เห็นโปรแกรมปิดการใช้งานวางในแพ็คเกจ ubuntu อย่างไรก็ตามตัวเลือก -A อาจคุ้มค่าที่จะลอง


5
ฉันไม่เข้าใจ gpm .. ในรายละเอียดแพ็คเกจพวกเขาระบุว่า: "แพ็คเกจนี้พยายามเป็นเซิร์ฟเวอร์เมาส์ที่มีประโยชน์สำหรับแอปพลิเคชันที่ทำงานบนคอนโซล Linux" สิ่งนี้เกี่ยวข้องกับแอพพลิเคชั่นที่ทำงานในโหมดหน้าต่างหรือไม่?
levesque
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.