Acho que você mencionou um choque cultural causado por uma limitação técnica. Uma vez que Shift + Espaço gera a mesma saída que Espaço , o modelo de terminal Unix trata-os de forma idêntica. Para distinguir entre os dois, você precisa de um ambiente de programação que suporte eventos de ativação / desativação de chaves. Isso é possível no X11 e em emuladores de terminal que suportam o remapeamento de chaves. Um exemplo de remapeamento Shift + Espaço para PageUp :
# For [u]rxvt, in ~/.Xdefaults:
URxvt.keysym.Shift-space: 3[5~