Keypad is different for different conuntries.
In android, there are two files to determind the keypad.
One is XXX.kl, the other is XXX.kcm.
XXX.kl define the mapping of scan code and android keycode.
XXX.kcm define the mapping of unicode character and android keypad.
for XXX.kl file as follow:
key 33 MENU
key 33 is the keypad scan code, and "MENU" is keycode defined in
./frameworks/base/core/java/android/view/KeyEvent.java
Thes XXX.kl can be find by
find -name *.kl
find -name *.kcm
The XXX.kcm and .bin file is generated by KCM tool located in ./build/tools/kcm
The XXX.kl file is loaded by KeyLayoutMap.cpp located in ./frameworks/base/libs/ui
the XXX.kcm.bin file is load by KeyCharacterMap.cpp located in ./framework/base/libs/ui/