Convierta una clave normal en una clave modificadora


11

Tengo un teclado que, por alguna razón inexplicable, presenta una tecla que envía el símbolo del dólar danés a OS X - §. Con shift envía el símbolo más / menos - ±.

¿Es posible dentro de Emacs ver la §clave y convertirla en Hyper o Super? Entonces, si mantengo presionada esa §tecla y presiono f, se activará H-fen Emacs.

He intentado lo siguiente, que no funciona:

(define-key key-translation-map (kbd "§") (kbd "<Hyper>"))

Simplemente dice <Hyper> is undefinedal presionar la tecla, y no actúa como un modificador en absoluto.

Esto tampoco funciona:

(define-key key-translation-map (kbd "§") "<Hyper>")

eso solo convierte la §llave en una <llave.



2
Debería poder hacer esto a nivel de sistema operativo, pero no en emacs.
Malabarba

Respuestas:


4

Versión corta : en términos de Emacs, lo que realmente necesitaba eran acordes clave .


@Malabarba y @XinUmbralis parecen tener razón: Emacs no le permite convertir una clave normal en una clave modificadora normalmente. Realmente no me gusta la idea de combinar cada tecla modificadora en el teclado y llamar a eso "Hyper", porque podría entrar en conflicto con otras cosas en el futuro.

Ya uso Karabiner, y aparentemente puedes crear modificadores personalizados con él. Pero eso requiere mapear cada combinación a nivel del sistema operativo para que, digamos, §-aenvíe algo que Emacs sepa cómo manejar.

Entonces recordé la biblioteca de acordes clave y me di cuenta de que esa era la verdadera terminología de Emacs para lo que quería. Ejemplo de configuración:

(require 'key-chord)
(key-chord-mode 1)
(key-chord-define-global "§a" 'other-frame)

El único problema que tengo con el acorde de tecla es que la semántica de un acorde de tecla es un poco diferente de un modificador + tecla: no se permite la repetición y todo el acorde debe ingresarse muy rápido.

Si encuentro una solución a esos problemas, escribiré sobre eso en alguna parte y proporcionaré un enlace en una edición para esta respuesta.


3

Es posible que no pueda volver a vincular la tecla de signo de sección (tecla §) para enviar el comando hiper, sin embargo, puede volver a vincular la tecla de bloqueo de mayúsculas para enviar Hyper, utilizando Seil PCKeyboardHack .

Para volver a vincular la tecla de bloqueo de mayúsculas en Seil, simplemente haga lo siguiente:

  1. Abra Seil y haga clic en 'Cambiar la clave de bloqueo de mayúsculas'.
  2. Seleccione la casilla de verificación junto a 'Cambiar la tecla de bloqueo de mayúsculas'.
  3. Haga doble clic en el código clave e ingrese el código clave 80.

1
Esta respuesta probablemente sería mejor como comentario. En general, las respuestas deberían hacer más que proporcionar enlaces, en parte porque los enlaces podrían desaparecer en cualquier momento. ¿Podría editar su respuesta para que sea más autónoma?
Dan

Desafortunadamente, al menos para mí, establecer el código clave en 80 no hace nada.
Marcin
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.