Secondo il manuale,
Un controllo carattere alfabetico -Modified è sempre considerato case-insensitive: Emacs tratta sempre C-A come C-a, C-B come C-b, e così via. La ragione di ciò è storica.
così non si poteva definire come loro:
(global-set-key (kbd "C-a") 'xxx)
(global-set-key (kbd "C-A") 'yyy)
ma S-
può essere usato per Spostamento, quindi:
(global-set-key (kbd "C-a") 'xxx)
(global-set-key (kbd "C-S-a") 'yyy) ;; C-A
è OK. E
Per tutti gli altri modificatori, è possibile rendere maiuscoli e minuscoli i caratteri alfabetici modificati quando si personalizza Emacs. Ad esempio, potresti fare in modo che M-a e M-A eseguano comandi diversi.
Così si può definire la chiave vincolante in questo modo:
(global-set-key (kbd "M-a") 'xxx)
(global-set-key (kbd "M-A") 'yyy)
Per quanto ne so, sono trattati solo come case-insensitive se v'è una sola definizione chiave. Se si creano due, ad esempio una definizione di chiave in lettere minuscole e una definizione di chiave in maiuscolo, non vengono più considerate come maiuscole e minuscole. Usare il metodo che cerchi è molto comune. Ad esempio, '(global-set-key [? \ S-m] 'minimizza)' e '(global-set-key [? \ S-M]' ingrandisci)' – lawlist