A maneira de alterar as chaves sem alterar o layout do teclado é definir a variável de ambiente LC_CTYPE como pt_BR.utf8 . Eu fiz isso adicionando a seguinte linha ao meu .profile .
export LC_CTYPE='pt_BR.utf8'
Existem também outras variáveis LC_ que você pode definir se quiser. O comando locale mostra uma lista deles, esta página descreve o que eles fazem e locale -a diz quais localidades estão atualmente disponíveis no sistema.
Dito isso, para que isso funcione, as en_US.utf8 e pt_BR.utf8 locales precisam ser instaladas no sistema. Para se certificar de que este é o caso, execute
sudo dpkg-reconfigure locales
Na primeira tela, ele perguntará quais localidades você deseja gerar para o sistema (portanto, selecione en_US.utf8 e pt_BR.utf8 ) e, na segunda tela, ele pergunta qual deve ser o idioma padrão do sistema (escolha inglês). .