Reconfigurando <s-mouse-1> em <mouse-2> no Emacs no OS X

8

Eu uso um macbook pro e, portanto, estou sujeito a um trackpad com um botão. É claro que posso fazer mouse-1clicando e mouse-3clicando com dois dedos, mas não posso fazer muito com um clique do meio ( mouse-2).

Estou surpreso que isso não tenha me mordido antes, mas só recentemente comecei a me irritar com a falta de um botão do meio do mouse. Em particular, comecei a usar ERCe flyspell, ambos com funções que exigem um clique do meio.

Pesquisei bastante no Google, mas não consegui encontrar uma maneira de fazer isso. Aqui está precisamente o que eu gostaria de fazer:

No Emacs, eu gostaria que o Emacs o visse command+mouse-1como se fosse mouse-2. Basicamente, eu gostaria de uma maneira de religar <s-mouse-1>para acionar um <mouse-2>evento. Isso é possível?

Se for útil, estou usando uma das versões do Emacs 24 do Cocoa Emacs e executando o Lion em um macbook pro da era '08.

Rayne
fonte

Respostas:

5

Tente o seguinte:

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

Para obter mais informações, leia Mapas de teclado de tradução .

Trey Jackson
fonte
2
Quando faço isso e tento usar um cmd-click para flyspell, ele se queixa da seguinte mensagem de erro: flyspell-correct-word deve estar associado a um evento com parâmetros. Alguma sugestão?
Alex R
11
Estranho, vi a mesma mensagem de erro. O seguinte funciona para mim:(global-set-key [M-down-mouse-1] 'flyspell-correct-word)
edwardw 27/03
0

A sugestão de Trey não funcionou para mim, mas isso funcionou:

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

Isso mapeia controle-clique-esquerdo para clicar-meio (a down-peça não funcionou para mim).

Nota para Alex R: C-...é controle-, não comando- (que é minúsculo s-...)

Sean Corfield
fonte
0

Isso não é tanto uma solução como uma solução alternativa, mas atualmente estou experimentando o aplicativo MiddleClick (de código aberto) que adiciona funcionalidade de clique do meio em todo o sistema, acionando um clique do meio quando você faz três dedos- toque.

Os únicos problemas são que você pode pressionar o botão do meio acidentalmente tocando três dedos no trackpad de vez em quando, o que tem sido um pouco irritante. Obviamente, também existem as ligações do trackpad do sistema (por exemplo, App Exposeou Mission Control) que podem entrar em conflito com o toque de três dedos se você não fizer o movimento de rolagem correspondente suficientemente pronunciado. Provavelmente, você pode corrigir esses conflitos ajustando as fontes, pois parece que não há configurações no próprio aplicativo em execução.

Você também pode instalar o MiddleClick via homebrew:

brew cask install middleclick

EDITAR:

Acontece que o comportamento de três dedos do MiddleClick é bastante irritante e inutilizável, pelo menos para mim. Além disso, tentar modificar as fontes para melhorar o comportamento provou ser mais problemático do que vale a pena, como o MiddleClick utiliza MultitouchSupport.framework, que é privado e requer engenharia reversa para entender os parâmetros de suas funções. Infelizmente, não tenho tempo para isso agora, esp. sobre algo tão básico. No entanto, eu encontrei o BetterTouchTool que implementa a mesma funcionalidade básica, mas oferece muito mais personalização. Não é gratuito, mas custa apenas US $ 3 e, além disso, funciona bem com o Magic Trackpad 2, o que não pode ser dito para o aplicativo semelhante que eu também experimentei, o MagicPrefs.

O BetterTouchTool também pode ser instalado via homebrew:

brew cask info bettertouchtool
PIB2
fonte