Não é bem isso…
0 = 0 (O próprio int 0 é um código ASCII)
‘0’ = 48 (O caractere ‘0’ é representado em ASCII pelo int 48 )
Olha só, eu não conhecia também, mas dei uma fuçada na API e percebi algumas coisas a respeito. Antes, só corrigindo uma coisinha que vc mencionou, exite alguns métodos envolvendo a interface Keymap na classe JTextComponent, e não na JComponent. Não pesquisei se dá pra associar um objeto de uma classe que implemente Keymap (chamemos apenas de "um Keymap) a outras classes da API J2SE…
Pelo que estava lendo, o uso de Keymap envolve saber algo sobre Action, TextAction e KeyStroke. Vou tentar escrever oq ue entendi até agora. IMPORTANTE: Estou escrevendo o que eu entendi e só algumas linhas gerais, não posso garantir que esteja totalmente certo. Tratemos esse tópico como um brainstorming, ok? 
.
.:Interface Action:.
Essa interface parece que é uma versão mais robusta da ActionListener (Action, inclusive, herda de ActionListener). Quando se cria uma classe que implementa Action (chamemos qualquer uma dessas classes apenas de “uma Action”), além de ser possível implementar o método actionPerformed(…), é possível associar a ela outras propriedades, pra citar algumas, como um texto que pode ser usado como hint por um botão ou então como título em um menu; um ícone que pode ser exibido por um menu; é possível manipular a “habilitabilidade” desta Action, deixando possível, por exemplo, habilitar/desabilitar a Action em si ao invés do componente ao qual aquela está associada;
.
.:Classe AbstractAction (Abstrata):.
AbstractAction implementa Action e traz implementações padrão para os métodos get e set, quando utilizados para recuperar as propriedades referentes ao ícone e ao texto, e também traz implementação padrão para a verificação de habilitado/desabilitado e mais algumas outras funções. Só fica faltando para o desenvolvedor, basicamente, implementar o actionPerformed
.
.:Classe TextAction (Abstrata):.
TextAction herda de AbstractAction. Ela traz recursos que permitem sabermos qual o TextComponent é o alvo da Action. Isto porque parece que de alguma forma as Actions são compartilhadas, ou podem ser compartilhadas, não sei ao certo. Estes recursos são os métodos getFocusedComponent e getTextComponent
.
.:Classe KeyStroke:.
A classe KeyStroke é basicamente um evento de teclado, seja este evento o pressionar, o soltar ou o teclar uma tecla, usando ou não teclas modificadoras (alt, ctrl, etc…).
Normalmente, usamos KeyListeners para ouvir todo e qualquer tipo de evento de teclado e então filtramos os eventos de teclado que realmente nos interessam. Já com o uso de KeyStrokes, podemos associar diretamente uma ActionEvent a uma combinação de teclas representada por um KeyStroke. Tal associação pode ser feita através de uma Keymap
.
.:Interface Keymap:.
Finalmente, uma Keymap representa uma coleção de pares (KeyStroke;Action). A interface Keymap permite associar um KeyStroke a um Action.
.
Vou tentar fazer algum programinha de exemplo e, se conseguir fazer algo relevante, eu posto aqui, ok!?
Espero ter ajudado!