cambiar la clave meta en emacs

Estoy ejecutando emacs 24.3 a través de la terminal en OS X 10.8.4. Me gustaría modificar la tecla meta que actualmente está configurada como la tecla ESC. Cambié con éxito la tecla meta de ESC a opción/alt; sin embargo, estoy interesado en reasignar la tecla meta para que sea la tecla de desplazamiento a la izquierda. Como nunca uso la tecla de mayúsculas a la izquierda, no me importaría reasignarla permanentemente para todas las aplicaciones de mi máquina.

  1. ¿Cómo puedo cambiar la clave meta en emacs que se ejecuta desde la terminal a cualquier otra clave?
  2. Específicamente, me gustaría cambiar la meta-tecla a desplazamiento a la izquierda, ya que esto estaría muy cerca de donde normalmente se colocan mis dedos.
  3. ¿Se puede configurar esto a través de emacs a través de emacs-lisp? O, ¿debe configurarse a través de la configuración de OS X, por ejemplo, cómo cambié la tecla de bloqueo de mayúsculas?

¡Toda ayuda es muy apreciada!

EDITAR: ¿Cómo puedo hacer esto tanto en mi Mac como cuando me conecto de forma remota?

Con el fin de ver si podemos proporcionar una solución detallada, ¿qué tecla del teclado desea mapear para que sea meta y qué propone hacer con la funcionalidad que normalmente proporcionaría esa tecla? Supongo que cambiarías esc y esta tecla, pero prefiero no adivinar si tienes una preferencia en mente.
Me gustaría que la left-shifttecla que está justo debajo del bloqueo de mayúsculas en mi máquina funcione como meta-key. Intercambiarlos estaría bien, pero si pudieras decirme cómo hacer ese proceso, sería aún mejor, ya que podría experimentar para ver qué me gusta más :)
La reasignación de teclas (especialmente teclas especiales) por aplicación no es algo que el sistema operativo tenga un marco para proporcionar, por lo que necesitará un truco de bajo nivel para lograr la elección ideal. ¿Estaría dispuesto a reasignar permanentemente la tecla de mayúsculas a la izquierda? Incluso podría automatizar eso, pero tendría que verificar a los usuarios de ukelele o descargar la última versión de esa aplicación para experimentar. scripts.sil.org/cms/scripts/…
Me gustaría que la tecla de mayúsculas a la izquierda se reasignara permanentemente. ¡Eso suena asombroso! Lo investigaré también.
Esta publicación tiene mucha información sobre [diseños de teclado][1]. [1]: apple.stackexchange.com/a/45402/33942
¿Quiere una solución que funcione cuando está conectado a una máquina remota, por ejemplo, a través de SSH, o está bien si la solución solo funciona para emacs que se ejecutan en su Mac?
Ambos serían ideales.
Si intenta hacer esto cuando inicia sesión a través de una ventana de terminal, Emacs no es el lugar donde debe hacerlo. Deberá configurar su emulador de terminal. En una terminal, Emacs no obtiene las pulsaciones de teclas sin procesar, solo obtiene los caracteres que pasan a través de la terminal. En particular, Emacs no puede diferenciar entre desplazamiento a la izquierda o desplazamiento a la derecha, solo sabe que tiene una A mayúscula en lugar de una A minúscula.

Respuestas (2)

Los problemas de meta clave con emacs parecen ser muy comunes, especialmente en OSX donde se usa alt/option para ingresar caracteres especiales de manera predeterminada.

Si está utilizando AquamacsEmacs [ Página de inicio de Aquamacs ] o CarbonEmacsPackage , es posible que pueda configurar las teclas modificadoras dentro de su .emacs u otro archivo de preferencias.

Específicamente para cambiar el mapa a meta, intentaría esto ( Nota: esto no se ha probado ):

(setq mac-shift-modifier 'meta)

Si eso no funciona, puede que no haya una manera fácil de reasignar el turno de esta manera. Es posible que deba buscar la define-keyfunción en emacs lisp.

De lo contrario, si está utilizando emacs a través de la terminal, desde homebrew o algún puerto de xemacs con XQuartz , es posible que desee considerar el uso de xmodmap

`(setq mac-shift-modifier 'meta) no funciona...

¿Qué pasa con el uso de un programa de macro/tecla de acceso rápido como Keyboard Maestro ? (No tengo afiliación con el programa)

Keyboard Maestro no proporciona disparadores para las teclas modificadoras.