Existe outro método e, como você indicou, requer no mínimo acesso root e possivelmente uma ROM personalizada.
Conecte seu dispositivo a um computador via adb .
Puxe o seu arquivo keypad.kl . Para o meu HTC EVO 4G,
/system/usr/keylayout/supersonic-keypad.kl
independentemente do nome, você deve encontrá-lo em algum lugar próximo
/system/usr/keylayout
Abra este arquivo com um editor de texto e edite conforme desejar, seguindo o padrão do arquivo.
Para mim, o botão HOME é 102
, portanto, remapear essa chave para a câmera seria key 102 CAMERA WAKE_DROPPED
.
Uma tecla marcada WAKE
ativa o dispositivo quando pressionada, WAKE_DROPPED
pode afetar o sistema sem ativar a tela.
NOTA: isso pode permitir que você altere a funcionalidade apenas para as opções internas, mas existem várias funções disponíveis, incluindo opções de volume, outras teclas programáveis, câmera, energia, qualquer caractere ou controles de reprodução, como PLAYPAUSE
.
Essa é a fonte do Android e inclui exemplos de mapas de teclas.