Hi. I’m getting really frustrated by how unpredictable `C-` mappings are when it’s bound to both uppercase and lowercase character. What I’ve tried:

(global-set-key (kbd "C-q") 'cmd)
(global-set-key (kbd "C-Q" | "C-S-q" | "C-S-Q" | "C-\S-q" | "C-\S-Q" | ...) 'cmd-2)

and swapping the lines.

I never manage to get the intended behaviour – it keeps translating the uppercase to lowercase or vice-versa. And sometimes it doesn’t – there seems to be no pattern.

Could someone help me out?