Algumas vezes tive problemas com o mapeamento do teclado no Eclipse. De uma hora para outra ele parava de reconhecer os acentos, trocando para um layout padrão americano.

Primeiro pensei ser um bug no Eclipse, depois no Java, mas não encontrei nada.

Pesquisando mais a fundo, descobri que não era bug coisa nenhuma, acontece que o Eclipse possui muitos atalhos que usam a combinação Alt + Shift como base. Porém, ALT + SHIFT é justamente a combinação que o Windows usa para alternar o layout do teclado.

Por padrão, o Windows reconhece o teclado e o configura corretamente como ABNT2, mas ele sempre deixa o teclado padrão americano como segunda opção. Assim, ao usar o refactoring (Alt + Shift + R), por exemplo, às vezes essa combinação pode “escapar” e ser capturada pelo Windows, que troca o mapeamento.

O engraçado é que geralmente os outros aplicativos continuam a reconhecer os acentos e o cedilha normalmente, causando uma baita confusão sobre a causa do comportamento “estranho” do teclado.

Fica a dica:

Para resolver o problema é só pressionar Alt + Shift com o foco no Eclipse até que as teclas voltem ao normal.

Também é possível remover o layout de teclado secundário e assim a combinação de tecla não afetará mais o teclado.