Eli Zaretskii writes:
>> (define-key key-translation-map (kbd "s-8") (kbd "["))
>> It works in most cases. But unfortunately read-char does not care about
>> this translation, leaving lots of functions broken.
> Why do you care about read-char?
Because it is widely used in commands, and now is broken.
> What functions are broken after the above?
Off the top of my head, (paredit-backslash) and (quoted-insert).
> And why do you use key-translation-map and not global-map (or global-set-key)?
I had a hope that it was lower level than global-set-key.