Isso está na causa do fluxo de dados de entrada. Quando você usa um programa como o xterm, ele recebe seu fluxo de entrada do sistema X window. Portanto, há muitos softwares de alcance de recursos entre a tecla que você está pressionando no teclado e o fluxo de entrada designado para o aplicativo X. Esse software faz os modos de entrada do seu desejo - não é uma característica do xterm.
Se você estiver usando um console tty, você está próximo do bare metal. Você está trabalhando com os binários agetty, login e bash e todos eles chegam lá diretamente do kernel. Existem alguns mapeamentos de teclado entre a tecla pressionada e o fluxo de entrada do bash, mas não há nenhum código de programa de alcance do recurso que faça coisas úteis como você deseja.