ผูกกลับ / ส่งต่อไปยังปุ่มเมาส์


13

ฉันมีโลจิเทคพื้นฐานพร้อมปุ่ม 5 ปุ่ม: ซ้าย, ขวา, ล้อซ้าย, ล้อ, ล้อขวา

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


คุณช่วยให้รายละเอียดเพิ่มเติมเล็กน้อยเกี่ยวกับสิ่งที่คุณพยายามและสิ่งนั้นล้มเหลวได้อย่างไร
guntbert

ฉันเพิ่งลองโปรแกรมที่แตกต่างกันสามรายการเพื่อแมปคีย์และ / หรือแป้นพิมพ์ลัด (อันหนึ่งเป็นปลั๊กอิน ccsm อีกอันเป็นเพียงเครื่องมือที่ฉันดาวน์โหลดที่ศูนย์ซอฟต์แวร์และเป็นโปรแกรมสุดท้าย) แต่อย่างสุจริตฉันลืมชื่อของพวกเขาและตอนนี้ฉันจะ upgradede 12.10 ดังนั้นฉันสงสัยว่าฉันสามารถหาพวกเขากลับมา =)
Brent Roose

โปรดให้ข้อมูลเพิ่มเติมโดยแก้ไขคำถามของคุณ ความคิดเห็นอาจ / จะหายไปสักพัก
guntbert

คำตอบ:


18
  1. ติดตั้งแพคเกจxautomationเราต้องการคำสั่งxte

    sudo apt-get install xautomation
    
  2. ติดตั้งแพคเกจx11-utilsเราต้องการคำสั่งxev

    sudo apt-get install x11-utils
    
  3. ตรวจสอบรหัสสำหรับปุ่มเมาส์สองปุ่ม

    • เริ่มคำสั่งxevในเทอร์มินัล:

      xev
      
    • เลื่อนเมาส์ไปที่หน้าต่างใหม่

    • กดล้อซ้ายและหมุนไปทางขวา

    ในกรณีของฉันบันทึกผลลัพธ์button 6และbutton 7:

    ButtonRelease event, serial 36, synthetic NO, window 0x2e00001,
        root 0x233, subw 0x0, time 9222464, (94,21), root:(1774,85),
        state 0x10, button 6, same_screen YES
    
    ButtonPress event, serial 36, synthetic NO, window 0x2e00001,
        root 0x233, subw 0x0, time 9223854, (94,21), root:(1774,85),
        state 0x10, button 7, same_screen YES
    
  4. แก้ไขxbindkeysการกำหนดค่าของคุณเช่น:

    nano ~/.xbindkeysrc
    

    และเพิ่มบรรทัดด้านล่าง

    "xte 'keydown Alt_L' 'keydown Left' 'keyup Left' 'keyup Alt_L'"
         b:6
    
    "xte 'keydown Alt_L' 'keydown Right' 'keyup Right' 'keyup Alt_L'"
         b:7
    

    แทนที่b:6และb:7ด้วยจำนวนxevผลลัพธ์ของคุณ

    • จาก man xte

      key k
            Press and release key k
      
      keydown  k
            Press key k down
      
      keyup k
            Release key k
      
  5. ฆ่าkbindkeysกระบวนการทั้งหมด

    killall xbindkeys
    
  6. เริ่มต้นใหม่xbindkeysด้วยการกำหนดค่าของคุณเช่น:

    xbindkeys -f ~/.xbindkeysrc
    

3

มีเมาส์หลายคำแนะนำที่นี่ปุ่มและข้อมูล xorg.conf ที่นี่

เป็นหลักคุณยุ่งกับ xinput (หรือ imwheel สำหรับตัวเลือกเพิ่มเติม)

ก่อนอื่นให้เปิด Terminal รายการอุปกรณ์อินพุตของคุณ:

# show all input devices
xinput list

คุณจะได้รับสิ่งนี้:

$ xinput list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Microsoft Natural® Ergonomic Keyboard 4000        id=11   [slave  pointer  (2)]
⎜   ↳ Evoluent VerticalMouse 4                  id=12   [slave  pointer  (2)]

ฉันมี Evoluent VerticalMouse คุณสามารถเห็นหมายเลขตัวระบุคือ 12: "id = 12"

ฉันสามารถทดสอบเมาส์ด้วย:

# show all input from device with identifier number 12
xinput test 12

ตอนนี้เมื่อฉันเลื่อนเมาส์หรือคลิกฉันจะได้ผลลัพธ์ในเทอร์มินัลบอกฉันว่าฉันกดปุ่มใด กดCtrl- cเพื่อสิ้นสุดการทดสอบ

หากปุ่มย้อนกลับ / ไปข้างหน้าไม่ส่งสัญญาณออกให้ลองรีเซ็ตแผนที่ของปุ่มเป็นค่าเริ่มต้นด้วย set-button-map โปรดทราบว่าฉันใช้ชื่ออุปกรณ์ที่ส่งออกโดยxinput list:

xinput set-button-map "Evoluent VerticalMouse 4" 1 2 3 4 5 6 7 8 9 10 11 12 13 14

ตอนนี้ลองเรียกใช้xinput testด้วยรหัสของคุณ หากคุณได้รับการตอบสนองของปุ่มที่ถูกต้องที่นี่คุณเพียงแค่ต้องเข้าใจการทำแผนที่ที่คุณต้องการและอัปเดต xorg.conf ของคุณ (ฉันยังไม่รู้จะทำยังไง)


0

เลื่อนขึ้นและลงด้วยเมาส์ไปข้างหน้าและปุ่มย้อนกลับ

ก่อนอื่นให้ติดตั้งแพ็คเกจที่ต้องการ:

$ sudo apt install x11-utils xbindkeys xautomation

ถัดไปใช้xevโดยx11-utilsเพื่อตรวจสอบหมายเลขปุ่มที่แน่นอนของปุ่มย้อนกลับและไปข้างหน้าของเมาส์

$ xev |grep -A2 ButtonPress

สำหรับเมาส์ Anker แนวตั้งแบบใช้สายด้านหลังและข้างหน้าเป็นปุ่ม 8 และ 9 ตามลำดับ

ButtonPress event, serial 37, synthetic NO, window 0x3600001,
    root 0x1da, subw 0x0, time 1708382, (68,54), root:(939,498),
    state 0x10, button 8, same_screen YES
--
ButtonPress event, serial 37, synthetic NO, window 0x3600001,
    root 0x1da, subw 0x0, time 1711030, (69,48), root:(940,492),
    state 0x10, button 9, same_screen YES

เมาส์ Anker แนวตั้งแบบใช้สาย

ดำเนินการต่อโดยสร้างไฟล์ที่ซ่อนชื่อ.xbindkeysrcในโฮมไดเร็กทอรีของคุณด้วยเนื้อหาต่อไปนี้:

"xte 'keydown Down'"
b:8

"xte 'keyup Down'"
b:8 + Release

"xte 'keydown Up'"
b:9

"xte 'keyup Up'"
b:9 + Release

xteคำสั่งที่ให้บริการโดยxautomationแพคเกจ

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


0

หลังจากพบว่ามีอาการสั่นคลอนฉันพบว่าการได้รับปุ่มสามเหลี่ยมขนาดเล็กสองปุ่มภายใต้นิ้วโป้ง (ถัดจากปุ่มหมุนล้อเลื่อน) เพื่อทำงานย้อนหลัง / ไปข้างหน้ากับ Logitech MX Master ของฉันฉันต้อง:

ติดตั้งimwheelแล้วแก้ไข~/.imwheelrcเพื่อให้มีลักษณะดังนี้:

".*"
None,      Up,   Button4, 5
None,      Down, Button5, 5
Control_L, Up,   Control_L|Button4
Control_L, Down, Control_L|Button5
Shift_L,   Up,   Shift_L|Button4
Shift_L,   Down, Shift_L|Button5
None, Thumb1  , Alt_L|Left
None, Thumb2  , Alt_L|Right

ด้านล่างสองบรรทัดหมายความว่าการกดล่างของสองปุ่มหัวแม่มือ ( "Thumb1" เห็นได้ชัด) โดยไม่ต้องถือกุญแจใด ๆ ปรับปรุง (เช่นShift, Ctrl, Alt) ในเวลาเดียวกัน (ที่ "ไม่มี" ส่วน) ควรเลียนแบบกด Alt ซ้าย กดแป้น ( Alt_L) และกดปุ่มลูกศรซ้าย ( ) เพื่อกลับไปที่เบราว์เซอร์

ในทำนองเดียวกันบรรทัด "Thumb2" จะสร้างปุ่ม Alt ซ้ายพร้อมลูกศรขวาเพื่อไปข้างหน้า

ดูเหมือนว่ามีหลายวิธีในการทำเช่นนี้ แต่นี่คือสิ่งที่ฉันค้นพบและทำงานให้ฉันใน Ubuntu 18.04 ฉันมีปัญหาเล็กน้อยในการตีความสิ่งที่หน้าเว็บสำหรับimwheelบอกให้ฉันทำดังนั้นฉันหวังว่าสิ่งนี้จะช่วยให้ใครบางคนออกมา

หลังจากคุณแก้ไข.imwheelrcไฟล์อย่าลืมรีสตาร์ทimwheelเพื่อให้การเปลี่ยนแปลงมีผล:

sudo imwheel -k
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.