Usar teclas de función como teclas modificadoras "adhesivas"


10

¿Hay alguna forma de usar una tecla de función (como <f8>) como una especie de evento de superclave y luego hacer que la siguiente pulsación de tecla (f.ex. s) se interprete como s-s? En otras palabras, esto será similar a las teclas modificadoras fijas, pero solo para emacs, no para el sistema operativo en sí.

Sé sobre el modo de acordes de teclas y el hecho de que puedes usar combinaciones de teclas como esta (global-set-key (kbd "<f8> b t") 'undo)para guardar atajos de teclado. Pero me gustaría algo que funcione con mis enlaces existentes a la súper tecla y no requiera que enlace todo dos veces en el futuro (es decir, un enlace para la súper tecla y otro para la tecla de función).

Respuestas:


14

Si su flujo de trabajo es:

  1. presione y suelte F8
  2. Presione y suelte s, espere que active el enlace paras-s
  3. Cualquier tecla que presione luego no tiene el smodificador a menos que presione F8nuevamente

entonces esta característica existe en el propio Emacs . Está obligado C-x @ spor defecto (claramente solo está destinado a un uso muy ocasional). El comando es event-apply-super-modifier(existen funciones similares para control, shift, meta, alty hyper). Se encuentran los enlaces predeterminados function-key-map, que se anulan mediante enlaces en los mapas de teclas globales o locales. En su key-translation-maplugar, puede usar si desea que el modificador de aplicación signifique tener prioridad.

(define-key function-key-map [f8] 'event-apply-super-modifier)

¡Más razones para amar a Emacs!
A. Blizzard
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.