Once, I was playing with a number of Chinese tablets and trying different ROMs on them as they are technically the same hardware (HSG X5A variants).
I've had some problems getting the hard buttons to work though, so I wrote this application to detect key events and print them out. It will print out the following:
KeyEvents: The KeyEvents as Android understands them (KeyUp, KeyDown, KeyLongPress, KeyMultiple)
LogCat: Any relevant messages in logcat. Its filtered based on keywords declared in arrays.xml
Kernel: Any relevant messages in the kernel log. Its filtered based on keywords declared in arrays.xml. Kernel log parsing needs root.
The three checkboxes at the top control what information will be displayed.
This is a personal debug tool, but I hope it will be of some use to someone else.
No Ads.
Notes
--------------
While the application is running, the only "hard" keys which should work is "Home" and power. All others will produce their keycodes.
The SU request is to read the kernel log, so I can check if any keyevents are thrown by the kernel.
The location of keylayout files in Android is /system/usr/keylayout.
Kernel log parsing needs root
Both logcat and kernel log monitoring will only display lines containing words from two arrays in arrays.xml (i.e. you need to recompile the app to change them at the moment)
Currently the filters are:
Logcat:
|-HwGPIOE->GPDA
|-keycode
|-keycharacter
Kernel:
|-HwGPIOE->GPDA
|-keycode
|-keycharacter
Permissions
--------------
READ_LOGS: Used to access the Logcat log.
WRITE_EXTERNAL_STORAGE: Used to write the exported data to the SD card.
</div> <div jsname="WJz9Hc" style="display:none">Uma vez, eu estava brincando com um número de comprimidos chineses e tentar diferentes ROMs sobre eles como eles são tecnicamente o mesmo hardware (variantes HSG X5a).
Eu tive alguns problemas para conseguir os botões de hardware para trabalhar, então eu escrevi este aplicativo para detectar os principais eventos e imprimi-los. Ele irá imprimir o seguinte:
KeyEvents: Os KeyEvents como Android entende-los (KeyUp, KeyDown, KeyLongPress, KeyMultiple)
LogCat: Todas as mensagens relevantes em logcat. Sua filtrados com base em palavras-chave declaradas no arrays.xml
Kernel: Todas as mensagens relevantes no log do kernel. Sua filtrados com base em palavras-chave declaradas no arrays.xml. Kernel análise de log precisa de raiz.
As três caixas de seleção na parte superior controle quais informações serão exibidas.
Esta é uma ferramenta de depuração pessoal, mas eu espero que seja de alguma utilidade para alguém.
Sem Propaganda.
Notas
--------------
Enquanto o aplicativo é executado, apenas as teclas "duras" que deve funcionar é "Home" e poder. Todos os outros irão produzir os seus códigos de teclas.
O pedido SU é ler o log do kernel, para que eu possa verificar se alguma keyevents são jogados pelo kernel.
A localização dos arquivos keylayout no Android é / system / usr / keylayout.
Análise de registro no kernel precisa de raiz
Ambos logcat e monitoramento de log do kernel só vai exibir as linhas que contêm palavras de duas matrizes em arrays.xml (ou seja, você precisa recompilar o app para mudá-los no momento)
Atualmente, os filtros são:
Logcat:
| -HwGPIOE-> GPDA
| -keycode
| -keycharacter
Núcleo:
| -HwGPIOE-> GPDA
| -keycode
| -keycharacter
Permissões
--------------
READ_LOGS: Usado para acessar o log de Logcat.
WRITE_EXTERNAL_STORAGE: Usado para gravar os dados exportados para o cartão SD.</div> <div class="show-more-end">