android按键映射


 /system/usr/keylayout/qwerty.kl 文件,

修改“搜索”键为锁屏,也就是相当于电源键的黑屏功能,可以修改:

key 217   SEARCH 

改为:

key 217   POWER 


当然,你也可以修改为这样:

key 217   POWER            WAKE_DROPPED 

 

更可以改为这样:

 

key 217   POWER            WAKE 

 

 

这里要说一下 WAKE 和 WAKE_DROPPED 的区别:

WAKE 表示唤醒(激活屏幕)并发送请求

WAKE_DROPPED 表示唤醒(激活屏幕)而不发送请求 

 

为了方便大家理解,我再详细举例说明一下:

key 102   HOME                                        (HOME键必须在亮屏解锁的情况下才可以按,否则按了无任何反应)

key 102   HOME            WAKE                   (HOME键在机器未唤醒情况下可按,按下后机器被唤醒,并且提交该按键的按钮事件)

key 102   HOME            WAKE_DROPPED    (HOME键如果机器在未唤醒状态下,按一下先唤醒机器,再按一下,才提交该按键的按钮事件)     

 

key 后面的数字表示按键的物理编码,后面的英文表示在Android系统中的按键功能名称,所以我们只要把按键的物理编码和对应的按键功能英文名称进行修改,就可以了。
比如 把HOME键的功能改为拍照的按键,那么就可以进行如下修改:
key 102   HOME
修改为:
key 102   CAMERA

常用的按键编码默认对应的功能按键如下: 

key 102   HOME 返回主桌面键(房子图标那个键)
key 139   MENU 菜单键    
key 158   BACK 返回/退出键
key 217   SEARCH 搜索键
key 107   ENDCALL 挂断键
key 116   POWER 电源键
key 212   CAMERA 拍照键



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android系统的ADC按键驱动主要涉及到驱动层和应用层两个方面。 驱动层: Android系统的ADC按键驱动主要是由Linux内核的Input子系统来实现的。Input子系统是Linux内核中一个用于处理输入设备的子系统,主要功能是接收来自输入设备的数据,并将其传递到应用程序。 在Android系统中,Input子系统主要负责处理盘、鼠标、触摸屏等输入设备的数据。对于ADC按键,一般都是通过GPIO口连接到处理器上,因此需要通过驱动程序来读取GPIO口的状态,以检测按键的按下和松开。 在Linux内核中,GPIO的读取是通过sysfs文件系统实现的。因此,驱动程序需要将GPIO口的状态映射到sysfs文件系统中的一个文件,以便应用程序能够读取GPIO口的状态。 应用层: 在Android系统中,应用程序一般使用Java语言编写。对于ADC按键,应用程序可以通过Android提供的KeyEvent类来处理按键事件。 当用户按下或松开ADC按键时,Linux内核会将这个事件传递给Android系统的Input子系统。Input子系统会将这个事件转换成一个KeyEvent对象,并将其发送给应用程序。 应用程序可以通过监听KeyEvent对象来处理按键事件。当用户按下或松开ADC按键时,应用程序可以根据不同的按键事件来执行不同的操作,例如打开应用程序、切换菜单、调节音量等。 综上所述,Android系统的ADC按键驱动主要是由Linux内核的Input子系统和应用层来实现的。在驱动层,需要通过驱动程序来读取GPIO口的状态,以检测按键的按下和松开;在应用层,需要通过监听KeyEvent对象来处理按键事件,以执行不同的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值