Com muitos programas de terminal (mas não todos), o controle-SPACE envia o caractere ASCII 00 (NUL).
Você pode ver isso, por exemplo, com od -cx
e inserindo control-SPACE, RETURN, control_D. Você verá uma saída semelhante a:
% od -cx
^@
0000000 % od -cx
^@
0000000 %pre% \n
0a00
0000002
\n
0a00
0000002
Control- @ também é o caractere NUL (@ é ASCII 64, então control- @ é ASCII 00).
Portanto, o mapeamento de controle @ tela interna tem o efeito de mapear o controle de espaço ... por causa de como o terminal lida com controle de espaço.