Rebinding <s-mouse-1> ถึง <mouse-2> ใน Emacs บน OS X


8

ฉันใช้ macbook pro ดังนั้นฉันจึงอยู่ภายใต้ trackpad ด้วยปุ่มเดียว แน่นอนฉันทำได้mouse-1โดยการคลิกและmouse-3โดยการคลิกด้วยสองนิ้ว แต่มีไม่มากที่ฉันสามารถทำได้เกี่ยวกับการคลิกกลาง ( mouse-2)

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

ฉัน googled อย่างกว้างขวาง แต่ไม่สามารถหาวิธีในการทำเช่นนี้ได้ นี่คือสิ่งที่ฉันต้องการจะทำ:

ใน Emacs ฉันต้องการสำหรับ Emacs เพื่อดูราวกับว่ามันเป็นcommand+mouse-1 mouse-2โดยทั่วไปฉันต้องการวิธีที่จะเชื่อมโยงใหม่<s-mouse-1>เพื่อทริกเกอร์<mouse-2>เหตุการณ์ เป็นไปได้ไหม

หากเป็นประโยชน์เลยฉันใช้หนึ่งใน Emacs 24 builds ของ Cocoa Emacs และฉันใช้ Lion ใน macbook pro ยุค '08

คำตอบ:


5

ลองสิ่งนี้:

(define-key key-translation-map (kbd "<C-down-mouse-1>") (kbd "<down-mouse-2>"))

สำหรับข้อมูลเพิ่มเติมโปรดอ่านแปล keymaps


2
เมื่อฉันทำเช่นนี้แล้วลองใช้ cmd-click สำหรับ flyspell มันจะบ่นกับข้อความแสดงข้อผิดพลาดต่อไปนี้: flyspell-correct-word ต้องเชื่อมโยงกับเหตุการณ์ที่มีพารามิเตอร์ ข้อเสนอแนะใด ๆ
Alex R

1
แปลกฉันเห็นข้อความแสดงข้อผิดพลาดเดียวกัน ผลงานต่อไปนี้สำหรับฉัน:(global-set-key [M-down-mouse-1] 'flyspell-correct-word)
edwardw

0

คำแนะนำของ Trey ไม่ได้ผลสำหรับฉัน แต่สิ่งนี้ทำได้:

(define-key key-translation-map (kbd "<C-mouse-1>") (kbd "<mouse-2>"))

แผนที่นี้ควบคุมคลิกซ้ายเพื่อคลิกกลาง ( down-ชิ้นส่วนไม่ทำงานสำหรับฉัน)

หมายเหตุถึง Alex R: C-...คือ control- ไม่ใช่ command- (ซึ่งเป็นตัวพิมพ์เล็กs-...)


0

นี่ไม่ใช่วิธีแก้ปัญหามากนัก แต่ตอนนี้ฉันกำลังลองใช้แอป MiddleClick (โอเพ่นซอร์ส) ซึ่งเพิ่มฟังก์ชันการคลิกกลางทั่วทั้งระบบโดยการเปิดใช้งานการคลิกกลางเมื่อคุณใช้สามนิ้ว - แตะเบา ๆ

ปัญหาเดียวคือคุณสามารถกดกลางคลิกโดยบังเอิญโดยแตะสามนิ้วบนแทร็คแพดทุก ๆ คราวซึ่งค่อนข้างน่ารำคาญ นอกจากนี้ยังเห็นได้ชัดว่าการรวมแทร็กแพดของระบบ (เช่นApp ExposeหรือMission Control) ที่อาจขัดแย้งกับการแตะด้วยสามนิ้วถ้าคุณไม่ทำให้การเลื่อนที่สอดคล้องกันนั้นเด่นชัดพอ คุณอาจสามารถแก้ไขข้อขัดแย้งเหล่านี้ได้โดยการปรับเปลี่ยนแหล่งที่มาเนื่องจากปรากฏว่าไม่มีการตั้งค่าในแอปที่รันอยู่

คุณสามารถติดตั้ง MiddleClick ผ่าน homebrew เช่นกัน:

brew cask install middleclick

แก้ไข:

ปรากฎว่าพฤติกรรมการแตะด้วยสามนิ้วของ MiddleClick ค่อนข้างน่ารำคาญและใช้ไม่ได้สำหรับฉันอย่างน้อย นอกจากนี้พยายามแก้ไขแหล่งข้อมูลเพื่อให้พฤติกรรมดีขึ้นซึ่งพิสูจน์แล้วว่าเป็นปัญหามากกว่าที่ควรจะเป็นเนื่องจาก MiddleClick ใช้งานMultitouchSupport.frameworkซึ่งเป็นส่วนตัวและต้องการวิศวกรรมย้อนกลับเพื่อให้เข้าใจถึงพารามิเตอร์ของฟังก์ชัน น่าเสียดายที่ฉันไม่มีเวลาสำหรับตอนนี้ มากกว่าสิ่งพื้นฐาน อย่างไรก็ตามฉันพบBetterTouchToolซึ่งใช้ฟังก์ชั่นพื้นฐานเดียวกัน แต่ให้ความสามารถในการปรับแต่งได้มากขึ้น มันไม่ฟรี แต่มันแค่ $ 3 และยิ่งกว่านั้นมันใช้งานได้ดีกับ Magic Trackpad 2 ซึ่งไม่สามารถพูดได้สำหรับแอพที่คล้ายกันที่ฉันลองใช้MagicPrefs

BetterTouchTool ยังสามารถติดตั้งผ่าน homebrew:

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