如何增加按键??急

ZhengShuai1989 2010-08-07 10:34:24
在android中如何增加一个物理按键,如*键或#键。详细步骤,设计到哪些类,代码?谢谢了
...全文
443 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZhengShuai1989 2010-08-09
  • 打赏
  • 举报
回复
有哪位高手知道,能否给我发个demo。

邮箱:zhengshuai1989◎126。com
ZhengShuai1989 2010-08-09
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jindan_jinming 的回复:]
引用 6 楼 vclongking 的回复:
应用层就可以做到?关注关注

应该在底层的吧,这个涉及到驱动的问题,楼主是在硬件设备上增加一个按键吧?
[/Quote]

是的,在硬件设备上增加一个按键
ZhengShuai1989 2010-08-09
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 yihua0001 的回复:]
这个东西很简单,如果你的那个硬件的键值已经在kernel里注册了,那就只需要修改文件系统就好了。
只有几个文件修改一下就可以了,主要是定义键值,然后就是在phonewindows.java中实现它实现的具体功能。
建议打开/system/usr/layout/querty.kl(不知道有没有记错),这个文件记录了kernel传上来的键值以及文件系统对这个键值对应的值。如果你的kernel已经有……
[/Quote]

不太明白,因为我是新手,能不能详细点。
ProgrammerNO1 2010-08-09
  • 打赏
  • 举报
回复
按9,10L方法整了没
影子LEON 2010-08-09
  • 打赏
  • 举报
回复
首先在底层驱动里需要定义物理的按键的扫描码,在kl文件里定义扫描码跟keycode之间的对应关系,
如何在上层新增keycode可以查看KeyEvent.java文件,里面有介绍需要修改哪些文件。
但是PS:自己在上层新加按键有可能导致google 的CTS过不去。。
yihua0001 2010-08-09
  • 打赏
  • 举报
回复
最简单的办法:
1.在kernel里找到你要定义的那个物理按键的code,就是按这个键给系统发送哪个号码。
2.在/system/usr/layout/querty.kl文件里把这个code对应的信号设置成*或者#。
先试试看吧。
karlzheng 2010-08-08
  • 打赏
  • 举报
回复
看一下这一个:
http://blog.csdn.net/a3015440/archive/2010/06/24/5692459.aspx
karlzheng 2010-08-08
  • 打赏
  • 举报
回复
大概的流程:在驱动中上报input按键值,在应用层把上报上来的keycode转换成scancode,对scancode用intent事件broadcast出去
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 vclongking 的回复:]
应用层就可以做到?关注关注
[/Quote]
应该在底层的吧,这个涉及到驱动的问题,楼主是在硬件设备上增加一个按键吧?
yihua0001 2010-08-08
  • 打赏
  • 举报
回复
这个东西很简单,如果你的那个硬件的键值已经在kernel里注册了,那就只需要修改文件系统就好了。
只有几个文件修改一下就可以了,主要是定义键值,然后就是在phonewindows.java中实现它实现的具体功能。
建议打开/system/usr/layout/querty.kl(不知道有没有记错),这个文件记录了kernel传上来的键值以及文件系统对这个键值对应的值。如果你的kernel已经有这个键值,那么你把这个键值配置成你想要的功能就可以了。如果系统没有这个键值,你就自己添加,不过你说的这个符号文件系统里应该本来就有的。
如果需要自己添加,随便在这个文件里找一个键值,然后再代码里搜索一下,有几个文件对这个键值做了声明,如VOLUME_UP,这样依葫芦画瓢也在同样的地方声明你自己的东东就好了。
ZhengShuai1989 2010-08-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 rollrock1987 的回复:]
这个东西应该跟驱动有关的吧 我觉得 按键这个东西应该是一个 表 来表示的
[/Quote]

驱动这块先不管它,上层应用怎么解决啊
rollrock1987 2010-08-07
  • 打赏
  • 举报
回复
这个东西应该跟驱动有关的吧 我觉得 按键这个东西应该是一个 表 来表示的
ZhengShuai1989 2010-08-07
  • 打赏
  • 举报
回复
各位高手帮帮忙、急
vclongking 2010-08-07
  • 打赏
  • 举报
回复
应用层就可以做到?关注关注
SmallHero007 2010-08-07
  • 打赏
  • 举报
回复
如果只是上层的话,你无非就是监听keyEvent,当keycode和你定义的那个键值相当的时候你就调用你的东西就玩了呀。。。
楼主我觉得你这问题提关键在于,如何定义自己的按键码。
估计得在驱动层去定义,驱动层自己不会,只能友情帮顶了。
liujinrui 2010-08-07
  • 打赏
  • 举报
回复
驱动层添加按键码,当按键触发时,上报按键码值。在上层,监听keyevent,通过eventcode判断是哪个按键。

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧