The macro kbd
doesn't work for all desired input. For example, this results in an error:
(kbd "C-H-left")
edmacro-parse-keys: C-H- must prefix a single character, not left
and should be written as:
(kbd "C-H-<left>")
There is an alternative (vector) syntax:
[?\C-\H-x home]
but this representation also isn't unique: the vector above has the same meaning as
[(control hyper x) home]
Also, (kbd "RET")
isn't [return]
, but ?\C-m
. Same with (kbd "DEL")
and others.
Forms (kbd "\e\eq")
and [?\e \?M-q]
represent the same key sequence, but have different values:
(kbd "\e\eq") ; evaluated to "^[^[q"
[?\e \?M-q] ; evaluated to [27 134217841]
Are all these syntax rules available in Emacs >= v22.x?
Which syntax is consistent and regular? Which mini-language describing key sequences has fewer special cases?
I found that I need to consult references every time I make a new key binding. Consider binding ESC M-H-kp-2 C-PgUp
or similar.