Utilizzo dei tasti funzione come tasti modificatori "adesivi"


10

C'è un modo per usare un tasto funzione (come <f8>) come una sorta di evento super-tasto-giù e quindi avere la successiva sequenza di tasti (f.ex. s) quindi essere interpretata come s-s? In altre parole, questo sarà simile ai tasti modificatori appiccicosi, ma solo per emacs, non per il sistema operativo stesso.

Conosco la modalità key-chord e il fatto che è possibile utilizzare combinazioni di tasti come questa (global-set-key (kbd "<f8> b t") 'undo)per salvare le scorciatoie da tastiera. Ma mi piacerebbe qualcosa che funzioni con i miei collegamenti esistenti al tasto super e non mi imponga di legare tutto due volte in futuro (es. Un legame per il tasto super e uno per il tasto funzione).

Risposte:


14

Se il flusso di lavoro è:

  1. premi e rilascia F8
  2. Premere e rilasciare s, si aspettano che attivi la rilegatura pers-s
  3. Qualunque tasto prema dopo non ha il smodificatore a meno che non lo premi F8nuovamente

allora questa funzione esiste in Emacs stesso . È vincolato per C-x @ simpostazione predefinita (chiaramente inteso solo per un uso molto occasionale). Il comando è event-apply-super-modifier(esistono funzioni simili per control, shift, meta, alte hyper). Sono presenti i bind predefiniti function-key-map, che vengono sovrascritti dai bind nelle keymap globali o locali. È possibile utilizzare key-translation-mapinvece se si desidera che il significato del modificatore applicare abbia la precedenza.

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

Altri motivi per amare Emacs!
A. Blizzard
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.