
KeyEvent Display
Use this application to check/debug the keycodes of physical device buttons.
Alexandros Schillings · aws.apps.keyeventdisplay
UpdatedNov 19, 2025
PublishedMar 14, 2021
Packageaws.apps.keyeventdisplay
MD5812499fb463ca00480833210fe85c257
SHA1 (signer)1A:68:EE:08:0B:87:A7:45:94:B9:76:73:ED:74:EC:56:30:83:43:4F
Signed byCN=Alexandros Schillings, OU=Unknown, O=alt236, L=Colchester, ST=Essex, C=UK
Malware scanTRUSTED
Contact[email protected]
Privacy policyView
What's new
* v1.0.0: Redesign, added Android TV support.
Description
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.
This application is open source. The code can be found here: https://github.com/alt236/KeyEvent-Display---Android
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.
This application is open source. The code can be found here: https://github.com/alt236/KeyEvent-Display---Android
Permissions (2)
KeyEvent Display requests the following Android permissions:
- Read Logs android.permission.READ_LOGS
- Write External Storage android.permission.WRITE_EXTERNAL_STORAGE