Resposta curta: não existe uma maneira fácil de desativar a tradução para a versão não alterada da ligação.
Se você quiser encontrar sequências de teclas não acopladas, você pode tentar M-xdescrever-não-chaves-de-chaves . E, de fato, descobre que C-S-up está desvinculado (insira 15
quando for solicitada complexidade).
O comando describe-unbound-keys pode ser encontrado na biblioteca unbound
, que está disponível aqui na wiki.
Resposta mais longa:
A documentação relevante pode ser encontrada em Entrada de Seqüência de Chaves que afirma:
If an input character is upper-case (or has the shift modifier) and has no key binding, but its lower-case equivalent has one, then read-key-sequence converts the character to lower case. Note that lookup-key does not perform case conversion in this way.
É óbvio que você não gosta desse comportamento, mas para alterar essa tradução específica, você teria que modificar keyboard.c
no código-fonte do Emacs - procure o comentário:
/* If KEY is not defined in any of the keymaps,
and cannot be part of a function key or translation,
and is a shifted function key,
use the corresponding unshifted function key instead. */
e desative a instrução if
que a segue.
Em geral, as traduções de teclado existem por outros motivos (como mencionado no link de documentação no topo desta resposta) e você pode personalizá-las personalizando os vários mapas de teclado mencionados.