Utilisation des touches de fonction comme touches de modification «collantes»


10

Existe-t-il un moyen d'utiliser une touche de fonction (comme <f8>) comme une sorte d'événement de super-touche enfoncée, puis de faire en sorte que la séquence de touches suivante (p s-s. Ex.) Soit interprétée comme ? En d'autres termes, ce sera similaire aux touches de modification collantes, mais juste pour emacs, pas pour l'os lui-même.

Je connais le mode d'accords et le fait que vous pouvez utiliser des combinaisons de touches comme celle-ci (global-set-key (kbd "<f8> b t") 'undo)pour enregistrer les raccourcis clavier. Mais j'aimerais quelque chose qui fonctionne avec mes liaisons existantes à la super clé et ne nécessite pas que je lie tout deux fois à l'avenir (c'est-à-dire une liaison pour la super clé et une pour la touche de fonction).

Réponses:


14

Si votre flux de travail est:

  1. appuie et relache F8
  2. Appuyez et relâchez s, attendez-vous à ce qu'il déclenche la liaison pours-s
  3. Quelle que soit la touche sur laquelle vous appuyez par la suite, elle n'a pas le smodificateur, sauf si vous appuyez à F8nouveau sur

alors cette fonctionnalité existe dans Emacs lui-même . Il est lié C-x @ spar défaut (clairement destiné uniquement à une utilisation très occasionnelle). La commande est event-apply-super-modifier(fonctions similaires existent pour control, shift, meta, altet hyper). Les liaisons par défaut sont dans function-key-map, ce qui est remplacé par les liaisons dans les images clés globales ou locales. Vous pouvez utiliser à la key-translation-mapplace si vous souhaitez que la signification du modificateur d'application soit prioritaire.

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

Encore plus de raisons d'aimer Emacs!
A. Blizzard
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.