Rebobinado <s-mouse-1> a ​​<mouse-2> en Emacs en OS X


8

Uso un macbook pro y, por lo tanto, estoy sujeto a un trackpad con un botón. Puedo, por supuesto, hacer mouse-1clic y mouse-3con dos dedos, pero no hay mucho que pueda hacer con un clic en el medio ( mouse-2).

Me sorprende que esto no me haya mordido antes, pero solo recientemente comencé a molestarme por la falta de un botón central del mouse. En particular, comencé a usar ERCy flyspell, ambos tienen funciones que requieren un clic central.

He buscado mucho en Google pero no he podido encontrar la manera de hacerlo. Esto es precisamente lo que me gustaría hacer:

En Emacs, me gustaría que Emacs lo vea command+mouse-1como si fuera mouse-2. Básicamente, me gustaría una forma de volver <s-mouse-1>a vincular para desencadenar un <mouse-2>evento. es posible?

Si es útil, estoy usando una de las compilaciones Emacs 24 de Cocoa Emacs y estoy ejecutando Lion en un macbook pro '08 era.

Respuestas:


5

Prueba esto:

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

Para obtener más información, lea Traducción Keymaps .


2
Cuando hago esto y luego trato de usar un cmd-click para flyspell, se queja con el siguiente mensaje de error: flyspell-correct-word debe estar vinculado a un evento con parámetros. ¿Alguna sugerencia?
Alex R

1
Extraño, vi el mismo mensaje de error. Sin embargo, lo siguiente funciona para mí:(global-set-key [M-down-mouse-1] 'flyspell-correct-word)
edwardw

0

La sugerencia de Trey no funcionó para mí, pero sí:

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

Esto asigna control de clic izquierdo a clic medio (la down-pieza no funcionó para mí).

Nota para Alex R: C-...es control-, no comando- (que está en minúsculas s-...)


0

Esto no es tanto una solución como una solución alternativa, pero actualmente estoy probando la aplicación MiddleClick (código abierto) que agrega la funcionalidad de clic central en todo el sistema al activar un clic central cuando haces tres dedos: grifo.

El único problema es que puedes presionar el botón central del mouse accidentalmente tocando tres dedos en el panel táctil de vez en cuando, lo que ha sido algo molesto. Obviamente, también hay enlaces de trackpad del sistema (por ejemplo, App Exposeo Mission Control) que pueden entrar en conflicto con el toque de tres dedos si no hace que el movimiento de desplazamiento correspondiente sea lo suficientemente pronunciado. Probablemente podría solucionar estos conflictos modificando las fuentes, ya que parece que no hay configuraciones en la aplicación en ejecución.

También puede instalar MiddleClick a través de homebrew:

brew cask install middleclick

EDITAR:

Resulta que el comportamiento de tocar tres dedos de MiddleClick es bastante molesto e inutilizable, al menos para mí. Además, tratar de modificar las fuentes para un mejor comportamiento resultó ser más problemático de lo que vale, ya que MiddleClick utiliza MultitouchSupport.framework, que es privado y requiere ingeniería inversa para dar sentido a los parámetros de sus funciones. Desafortunadamente, no tengo tiempo para eso en este momento, especialmente. por algo tan básico. Sin embargo, encontré BetterTouchTool que implementa la misma funcionalidad básica pero proporciona mucha más personalización. No es gratis, pero solo cuesta $ 3 y, además, funciona bien con Magic Trackpad 2, lo que no se puede decir de la aplicación similar que también probé, MagicPrefs.

BetterTouchTool también se puede instalar a través de homebrew:

brew cask info bettertouchtool
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.