I am trying to rebind kmacro-start-macro and kmacro-end-macro to C-m and C-S-m.
But I am having some issues because of C-m being equivalent to RET, the ASCII control character "carriage return".
In the answer to How to distinguish C-m from RETURN? question, shows how to make C-m binding work with:
(define-key input-decode-map [?\C-m] [C-m])
(global-set-key (kbd "<C-m>") 'kmacro-start-macro)
But I am not able to bind C-S-m. With:
(global-set-key (kbd "<C-S-m>") 'kmacro-end-macro)
Whenever I use describe-key on C-S-m, it shows:
RET (translated from S-RET) runs the command newline (found in
global-map), which is an interactive compiled Lisp function in
‘simple.el’.
It is bound to RET.
How can I bind C-S-m?