ใน Windows ฉันเคยคลิกปุ่มกลางและมันเสนอตัวเลือก "เลื่อนเร็ว" ขึ้นหรือลง ฉันจะรับพฤติกรรมนี้บน Linux ได้อย่างไร ขณะนี้ดูเหมือนว่าจะใช้ปุ่มย้อนกลับเมื่อคลิกที่กึ่งกลางแทน
ฉันใช้ Gnome ภายใต้ CentOS
ใน Windows ฉันเคยคลิกปุ่มกลางและมันเสนอตัวเลือก "เลื่อนเร็ว" ขึ้นหรือลง ฉันจะรับพฤติกรรมนี้บน Linux ได้อย่างไร ขณะนี้ดูเหมือนว่าจะใช้ปุ่มย้อนกลับเมื่อคลิกที่กึ่งกลางแทน
ฉันใช้ Gnome ภายใต้ CentOS
คำตอบ:
ฟีเจอร์ Windows นี้ไม่เคยนำมาสู่โลกของ Unix ในโลก Unix จุดประสงค์หลักของปุ่มกลางของเมาส์คือการวางเนื้อหาของคลิปบอร์ด (หรือมากกว่านั้นอย่างแม่นยำคือข้อความที่เลือกด้วยเมาส์ซึ่งคัดลอกอัตโนมัติ) แอปพลิเคชั่นข้ามแพลตฟอร์มสองสามตัวเช่น Firefox และ Chrome ที่สนับสนุนปุ่มกลางของเมาส์สไตล์ Linux ภายใต้ Windows และในทางกลับกัน แต่นอกเหนือจากนั้นแอปพลิเคชันส่วนใหญ่ไม่รองรับการเลื่อนแบบละเอียดแบบนี้
อย่างไรก็ตามคุณสามารถเข้าใกล้ระดับระบบได้พอสมควร เป็นไปได้ที่จะตั้งค่าปุ่มเมาส์เช่นนั้นเมื่อกดถูกการเคลื่อนไหวของเมาส์จะเปลี่ยนเป็นเหตุการณ์วงล้อ นี่เป็นคุณสมบัติเดียวกับที่คุณคุ้นเคย แต่คุณมีแนวโน้มที่จะพบการเคลื่อนไหวแบบขาด ๆ หาย ๆ เนื่องจากแอปพลิเคชันได้รับเหตุการณ์วงล้อซึ่งโดยทั่วไปจะตีความว่าเป็นการเลื่อนโดยทั้งบรรทัดหรือคอลัมน์เดียว
หากต้องการเล่นกับการกำหนดค่านี้ให้ใช้โปรแกรมxinput (ฉันไม่ทราบว่ามีส่วนหน้าของ GUI หรือไม่) ก่อนอื่นให้เรียกใช้คำสั่งต่อไปนี้เพื่อดูชื่ออุปกรณ์ชี้ตำแหน่งของคุณ:
$ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Generic USB Mouse id=8 [slave pointer (2)]
⎜ ↳ Macintosh mouse button emulation 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=7 [slave keyboard (3)]
↳ USB Keyboard id=9 [slave keyboard (3)]
Generic USB mouse
ยกตัวอย่างเช่นในการส่งออกดังกล่าวข้างต้นอุปกรณ์ตัวชี้คือ คุณสามารถรันคำสั่งต่อไปนี้เพื่อแสดงรายการคุณสมบัติที่สามารถปรับได้:
xinput --list-props 'Generic USB Mouse'
ชุดของคุณสมบัติที่คุณต้องการคือ“ Evdev Wheel Emulation” ด้วยการตั้งค่าต่อไปนี้เมื่อกดปุ่มกลางของเมาส์ (ปุ่ม 2) การเลื่อนเมาส์จะส่งเหตุการณ์วงล้อ (4 = ขึ้น, 5 = ลง, 6 = ซ้าย, 7 = ขวา)
xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation' 1
xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Button' 2
xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Axes' 6 7 4 5
คุณอาจต้องการปรับแต่งพารามิเตอร์อื่น ๆ (ความเฉื่อย, การหมดเวลา)
คุณสามารถใส่คำสั่งเหล่านี้ในสคริปต์ เพิ่ม#!/bin/sh
เป็นบรรทัดแรกและทำให้ไฟล์สคริปต์สามารถทำงานได้ (เช่นchmod +x ~/bin/activate-wheel-emulation.sh
) จากนั้นเพิ่มสคริปต์นั้นในรายการคำสั่งเพื่อเรียกใช้เมื่อเริ่มเซสชันของคุณ ( gnome-session-properties
ให้คุณกำหนดค่านั้น)
หากคุณมีการเข้าถึงรากและคุณต้องการที่จะทำให้การเปลี่ยนแปลงสำหรับผู้ใช้ทั้งหมด (ได้รับการยอมรับในเครื่องที่บ้าน) ก็ง่ายที่จะทำมันได้ผ่านทางไฟล์การกำหนดค่าเซิร์ฟเวอร์ X.org เป็นรากสร้างไฟล์ที่เรียกว่า/etc/X11/xorg.conf.d/wheel-emulation.conf
มีการตั้งค่าสำหรับโปรแกรมควบคุมเมาส์ การตั้งค่าเหมือนกัน แต่มีการจัดระเบียบแตกต่างกันเล็กน้อย
Section "InputClass"
Identifier "Wheel Emulation"
MatchProduct "Generic USB Mouse"
Option "EmulateWheel" "on"
Option "EmulateWheelButton" "2"
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
EndSection
Evdev Wheel Emulation Timeout
พารามิเตอร์มากเกินไปคุณอาจสูญเสียการทำงานของปุ่มกลางของเมาส์ (คลิก) ไปพร้อมกัน ตัวอย่างเช่นหากคุณลดค่าEvdev Wheel Emulation Timeout
ให้ต่ำกว่าค่าEvdev Middle Button Timeout
คุณจะไม่สร้างเหตุการณ์คลิกปุ่มกลางอีกต่อไป จากประสบการณ์ส่วนตัวสิ่งต่อไปนี้ดูเหมือนว่าจะทำงานได้ดีพอสมควร:
xinput --set-prop 'Generic USB Mouse' 'Evdev Middle Button Emulation' 1
. xinput --set-prop 'Generic USB Mouse' 'Evdev Middle Button Timeout' 50
. xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Timeout' 100
. ที่มีฟังก์ชั่นคลิกและเลื่อนที่สมเหตุสมผล แต่ถ้าคุณพบว่ามันทำงานเร็วเกินไปให้ลองเพิ่มขึ้นEvdev Wheel Emulation Timeout
(ฉันคิดว่า 200 เป็นค่าเริ่มต้น)
Device "evdev"
และการวางราคาสองครั้งรอบค่าของ"EmulateWheelButton"
"2"
(ขอโทษฉันไม่ได้มีเวลาที่จะตรวจสอบว่าหนึ่งหรือทั้งสองเหล่านี้การแก้ไขปัญหาการเปลี่ยนแปลง.)
Device "evdev"
เข้าท่าคุณหมายถึงDriver "evdev"
อะไร? ฉันคิดว่านี่เป็นอีกทางเลือกหนึ่งของMatchProduct
คำสั่งที่ตั้งค่าตัวเลือกสำหรับอุปกรณ์อินพุตทั้งหมดไม่ใช่แค่เมาส์ USB ทั่วไป
Pointer_EnableKeys
(google หรือถามคำถามใหม่ที่นี่) และคุณสามารถตั้งค่าพฤติกรรมนักเล่นด้วย XKB (ค้นหาแป้นคำ : mousekeys หรือถามคำถามใหม่ที่นี่เพื่ออธิบายสิ่งที่คุณต้องการและสิ่งที่คุณจะได้รับหากคุณไม่สามารถทำได้อย่างแน่นอน
ปรากฎว่าสิ่งนี้สามารถทำได้ผ่านการตั้งค่า Firefox
ภาพหน้าจอ
สำหรับchrome
คุณสามารถใช้ส่วนขยายนี้สำหรับการตรวจสอบอัตโนมัติ
อย่าลืมรีสตาร์ท Chrome หลังจากติดตั้งส่วนขยาย