Envoyer « C ( » à Emacs VT100 / terminal xterm (Terminal de Mac OS X)?
Question
Est-il possible de quelque façon que d'envoyer la touche « C ( » Emacs sur un terminal VT100 / xterm (Mac OS X Terminal)? Y at-il une séquence d'échappement qui pourrait être envoyé pour obtenir l'équivalent?
Je soupçonne que le problème fondamental est que le concept de combiner le contrôle avec le caractère « ( » (et d'autres caractères qui sont réalisés en déplacement) n'existe pas.
Remarque: L'utilisation Cocoa Emacs est pas une option. Et la raison pour avoir besoin « C- ( » est que paredit.el l'utilise entre autres combinaisons de touches, et il serait préférable de ne pas remapper (car il est logique d'avoir sur « C - ( »).
La solution
Un terminal VT100 n'a pas pu le faire, parce qu'il n'y a pas de caractère de contrôle de ^(
correspondant à (
. Cependant, xterm a la soi-disant mode « modifyOtherKeys », ce qui ne permet d'envoyer des codes d'activation uniques pour des combinaisons comme ça.
Pour l'activer, définissez la ressource modifyOtherKeys
, par exemple en ~/.Xdefaults
:
XTerm*vt100.modifyOtherKeys: 1
Avec cela, Ctrl + (envoie le code d'activation suivant:
^[[27;6;40~
C'est assez long, donc un autre format pour keycodes comme cela a été introduit, qui peut être activé en définissant la ressource formatOtherKeys
:
XTerm*vt100.formatOtherKeys: 1
Avec cela, Ctrl + (envoie:
^[[40;6u
Dans ces deux keycodes, le 40 est le code ASCII décimal pour (
et 6 représente la touche Ctrl.
Voir man xterm
et http://invisible-island.net/xterm/ctlseqs/ctlseqs .html pour plus de détails. Aucune idée si Terminal.app supporte tout cela.