android键盘映射
Android bottom and middle tier common learning series Androidkeyboard mapping collection
(reprinted please explain from the largest Android communityin China, androidin bottom drive forum branch, the largestLinux community in the country, Linuxforum embedded Linuxbranch)
(Email: hongj iuj ing@gmail.com)
This article is suitable for beginners, say wrong place,welcome to correct and perfect. Daniel can bypass ^ ^)introducefunction
Key layout mapping
Selection of key mappingsf ile format
Key layout mapping file example
Key character mapping
Selection of key character mappingsf ile format
Resource binary file format
Improve your own drive
Listed
Introduce:
This paper describes how the key input is translated into thebehavior information of the Android application layer and howto customize the layout of keys and key character mapping tablesto meet the needs of the equipment.
Note:
The application of Android is not just a tablet computer, MID,phone, you can also put the STB set-top boxes, smart hometerminal to the above, so the key is to map custom, regardlessof whether the button is fixed on the equipment, or throughwireless or Bluetooth remote control equipment, mapping allneed keys.
Android is also the core of Linux, and most of the time it isthe operating system that performs tasks in scheduling tasks.Accordingly, the Android input system also follows the LINUXinput input and output subsystem, and the analysis of this partcan be Google, and there are many fundamental aspects of theanalysis. Android uses the standard Linux input event device(/dev/event0) , and the driver description allows you to viewthe kernel tree header file include/linux/input.h. If you want
to go further into Linux input subsystem, you can access:http://git.kernel.org/, p=linux/k, /linux-2.6.24.y.git,a=blob, f=Documentation/input/input. txt
Note: event0 is your keypad/gpio-keyregistration to the kernelnode number, if there are other input devices registered intothe kernel, you can also be event1.
Functionality
Android inputs event devices, using interrupts (hardwaretriggers) or polling structures (software simulations) tocapture device specific scan codes and translate them intostandard kernel acceptable events via input_event () .The other main driving driving key mapping is to construct aprobe function for polling function, simulation registerinterrupt your software or hardware initialization, usinginput_register_device () registered driver/ equipment to theinput and output system.
Note: about the probe belongs to the Linux device driver modelknowledge, you can read the LDD3 or LINUX device driverPrinciple and practice, described in great detail.
The following table describes the conversion steps from thekeyboard input to the corresponding application behaviorStep behavior interpretation
The 1 window manager from Linux keyboard keyboard event key
messages do not specifyany logic event, which is only connectedwith the hardware related to the location, that is to say, thekey code of the keyboard software without any meaning, mappingthe keyboard code
The 2 window manager scans the scan code as key. When the windowmanager reads a key from the driver, it uses the key layoutmapping file to map the scan code to the key value. In particular,this key is the bar code displayed on the screen. for exampleKEYCODE_DPAD_CENTER is a five bit key intermediate navigationkeys, even if ALTG produces a "?" character, the fact thatKEYCODE_G is the key.
The 3 window manager sends a scan code and key code to theapplication, scan code and key code is the current focus ofinterface processing, specific "translation" depends on thespecific application.
Key layout mapping
How do I select a key layout mapping file?
The key layout mapping file is usually placed in
/system/usr/keylayout and /data/usr/keylayout
For each keyboard device XXX, set the system propertyandroid.keylayout.xxx, if you do not create a specific devicefor their own hardware, Android will read the configurationf ile /system/usr/keylayout/qwerty.kl.
Note: if you set system properties, seettp://www.kandroid.org/android_pdk/build_new_device.htmlFile format:
The keymapping file is usually stored in aUTF8 text file format,usually with the following characteristics:
Note: the initial content will be ignored.
Blank: all blank lines are ignored
Key definition: the key definition follows the following formatkey, SCANCODE, KEYCODE, [FLAGS, . . . ] when the scan code is anumber, the key code is defined in the layout fileandroid.keylayout.xxx you describe, and you can also set therelevant FLAGS:
SHIFT: when pressed, the SHIFT key is automatically addedALT: when pressed, automatically add ALT
CAPS: when pressed, automatically bring CAPS capitalsWAKE: when pressed, when the device goes to sleep, press thisbutton to wake up,
And send messages to the application layer.
WAKE_DROPPED:when pressed and the device is asleep, the deviceis awakened, but does not send messages to the application
layer.
Keyboard mapping file example:
Android/src/device/product/generic/tuttle2.kl2007 The Android Open Source Copyright # ProjectKey 21
Key 32
Key 43
Key 54
Key 65
Key 76
Key 87
Key 98
Key 109
Key 110
Key 158, BACK, WAKE_DROPPED
Key 230, SOFT_RI GHT, WAKE
Key 60, SOFT_RIGHT, WAKE
Key 107, ENDCALL, WAKE_DROPPEDKey 62, ENDCALL, WAKE_DROPPED
Key 229, MENU, WAKE_DROPPED
Key 59, MENU, WAKE_DROPPED
Key 228, POUND
Key 227, STAR
Key 231, CALL, WAKE_DROPPED
Key 61, CALL, WAKE_DROPPED
Key 232, DPAD_CENTER, WAKE_DROPPEDKey 108, DPAD_DOWN, WAKE_DROPPEDKey 103, DPAD_UP, WAKE_DROPPEDKey 102, HOME, WAKE
Key 105, DPAD_LEFT, WAKE_DROPPEDKey 106, DPAD_RI GHT, WAKE_DROPPED
Key 115, VOLUME_UPKey 114, VOLUME_DOWNKey 116, POWER, WAKEKey 212, SLASH
Key 16, Q
Key 17, W
Key 18, E
Key 19, R
Key 20, T
Key 21, Y
Key 22, U
Key 23, I
Key 24, O
Key 25, P
Key 30, A
Key 31, S
Key 32, DKey 33, FKey 34, GKey 35, HKey 36, JKey 37, KKey 38, LKey 14, DELKey 44, ZKey 45, XKey 46, CKey 47, VKey 48, BKey 49, NKey 50, M
reliablesite怎么样?reliablesite是一家于2006年成立的老牌美国主机商,主要提供独服,数据中心有迈阿密、纽约、洛杉矶等,均免费提供20Gbps DDoS防护,150TB月流量,1Gbps带宽。月付19美金可升级为10Gbps带宽。洛杉矶/纽约/迈阿密等机房,E3-1240V6/64GB内存/1TB SSD硬盘/DDOS/150TB流量/1Gbps带宽/DDOS,$95/月,...
百纵科技怎么样?百纵科技国人商家,ISP ICP 电信增值许可证的正规公司,近期上线美国C3机房洛杉矶独立服务器,大带宽/高配置多ip站群服务器。百纵科技拥有专业技术售后团队,机器支持自动化,自助安装系统 重启,开机交付时间 30分钟内交付!美国洛杉矶高防服务器配置特点: 硬件配置高 线路稳定 洛杉矶C3机房等级T4 平价销售,支持免费测试,美国独服适合做站,满意付款。点击进入:百纵科技官方网站地...
便宜的香港vps多少钱?现在国外VPS主机的价格已经很便宜了,美国VPS主机最低一个月只要十几元,但同样免备案的香港VPS价格贵不贵呢?或者说便宜的香港VPS多少钱?香港vps主机价格要比美国机房的贵一些,但比国内的又便宜不少,所以目前情况是同等配置下,美国VPS比香港的便宜,香港VPS比国内(指大陆地区)的便宜。目前,最便宜香港vps低至3元/首月、18元/月起,今天云服务器网(www.yunt...