Ponowne powiązanie <s-mouse-1> z <mouse-2> w Emacs na OS X

8

Korzystam z Macbooka Pro, a więc jestem poddany gładzikowi z jednym przyciskiem. Oczywiście mogę to zrobić mouse-1, klikając i mouse-3klikając dwoma palcami, ale niewiele mogę zrobić w przypadku środkowego kliknięcia ( mouse-2).

Dziwi mnie, że to mnie wcześniej nie ugryzło, ale dopiero niedawno zacząłem być zirytowany brakiem środkowego przycisku myszy. W szczególności zacząłem używać ERCi flyspelloba mają funkcje wymagające środkowego kliknięcia.

Poszukałem obszernie Google, ale nie byłem w stanie znaleźć sposobu, aby to zrobić. Oto dokładnie, co chciałbym zrobić:

W Emacs chciałbym, aby Emacs command+mouse-1tak wyglądał mouse-2. Zasadniczo chciałbym znaleźć sposób na ponowne powiązanie w <s-mouse-1>celu uruchomienia <mouse-2>zdarzenia. czy to możliwe?

Jeśli to w ogóle jest pomocne, używam jednej z wersji Emacsa 24 Cocoa Emacs i używam Lwa na MacBooku Pro z epoki 08.

Rayne
źródło

Odpowiedzi:

5

Spróbuj tego:

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

Aby uzyskać więcej informacji, przeczytaj Mapy klawiszy tłumaczenia .

Trey Jackson
źródło
2
Gdy to zrobię, a następnie spróbuję użyć kliknięcia cmd dla flyspell, narzeka on na następujący komunikat o błędzie: flyspell-correct-word musi być powiązany ze zdarzeniem z parametrami. Jakieś sugestie?
Alex R
1
Dziwne, widziałem ten sam komunikat o błędzie. Jednak działają dla mnie następujące (global-set-key [M-down-mouse-1] 'flyspell-correct-word)
rzeczy
0

Sugestia Treya nie działała dla mnie, ale to zadziałało:

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

To mapuje kliknięcie z wciśniętym klawiszem Control i kliknięcie środkowym ( down-kawałek nie działał dla mnie).

Uwaga do Alexa R: C-...ma postać control-, a nie Command- (co jest małymi literami s-...)

Sean Corfield
źródło
0

To nie jest tyle rozwiązanie, co obejście, ale obecnie wypróbowuję aplikację MiddleClick (open source), która dodaje funkcjonalność kliknięcia środkowym przyciskiem w całym systemie, uruchamiając kliknięcie środkowym przyciskiem, gdy wykonujesz trzema palcami kran.

Jedynym problemem jest to, że możesz przypadkowo nacisnąć środkowe kliknięcie, od czasu do czasu dotykając trzema palcami gładzika, co było nieco denerwujące. Oczywiście istnieją również systemowe powiązania gładzika (np. App ExposeLub Mission Control), które mogą powodować konflikt z dotknięciem trzema palcami, jeśli nie wykonasz wystarczająco wyraźnego ruchu przewijania. Prawdopodobnie można rozwiązać te konflikty, modyfikując źródła, ponieważ wydaje się, że nie ma żadnych ustawień w samej uruchomionej aplikacji.

Możesz zainstalować MiddleClick również przez homebrew:

brew cask install middleclick

EDYTOWAĆ:

Okazuje się, że zachowanie MiddleClick po naciśnięciu trzema palcami jest raczej denerwujące i bezużyteczne, przynajmniej dla mnie. Również próba modyfikacji źródeł dla lepszego zachowania okazała się większym problemem niż jest to warte, ponieważ korzysta z MiddleClick MultitouchSupport.framework, który jest prywatny i wymaga inżynierii wstecznej, aby zrozumieć parametry jego funkcji. Niestety nie mam teraz na to czasu, zwłaszcza. nad czymś tak podstawowym. Jednak znalazłem BetterTouchTool, który implementuje tę samą podstawową funkcjonalność, ale zapewnia znacznie więcej możliwości dostosowywania. To nie jest darmowe, ale to tylko 3 USD, a ponadto działa dobrze z Magic Trackpad 2, czego nie można powiedzieć o podobnej aplikacji, którą również wypróbowałem, MagicPrefs.

BetterTouchTool można również zainstalować przez Homebrew:

brew cask info bettertouchtool
PKB2
źródło