[DESCRIPTION]
Setting->情景模式->使能振动选项,TP虚拟按键无振动效果
[SOLUTION]
修改tp driver中对于虚拟按键在normal mode下的上报方式为坐标上报,如果直接在TP driver中去上报key, android framework不会走振动的流程,此时如果想要实现虚拟按键振动,可以修改PhoneWindowManager.java 中 interceptKeyBeforeQueueing方法里添加 if (down && ((keyCode == KeyEvent.KEYCODE_HOME)||(keyCode == KeyEvent.KEYCODE_MENU)||(keyCode == KeyEvent.KEYCODE_BACK))){
performHapticFeedbackLw(null, HapticFeedbackConstants.VIRTUAL_KEY, false);
} 处理。
对于虚拟按键,只要以坐标形式上报并且在tpd_custom_xxx.h中配置好虚拟按键的坐标范围,Android framework会自动进行振动处理。
在TouchPanel的driver中,如果虚拟按键是以 input_report_key(tpd->kpd, key_code, key_val);方式上报key值,是不会有触感的。
如果虚拟按键是以坐标形式上报,如下所示:
input_report_abs(tpd->dev, ABS_MT_POSITION_X, x);
input_report_abs(tpd->dev, ABS_MT_POSITION_Y, y);
上报的,就会有触感。
把虚拟按键以坐标的形式上报。
1,TPD_HAVE_BUTTON宏要打开:#define TPD_HAVE_BUTTON
2,定义按键的坐标位置(具体定义,可以参考 FAQ03862 --电容屏客制化文件vitual key的配置)
#define TPD_BUTTON_HEIGH 100
#define TPD_KEY_COUNT 3
#define TPD_KEYS { KEY_MENU, KEY_HOME,KEY_BACK}
#define TPD_KEYS_DIM {{80,850,160,TPD_BUTTON_HEIGH},{240,850,160,TPD_BUTTON_HEIGH},{400,850,160,TPD_BUTTON_HEIGH}}
3, 从TouchPanel中读到的虚拟按键数据有两种,一种是key值(1,2,3),另一种是报的坐标值((x,y));
如果读出的虚拟按键值为坐标,那直接按TouchPanel报坐标点的方式上报就OK了。
如果是key值,那就需要把key人为的转为坐标,然后在上报。
分享到:
相关推荐
隐藏虚拟按键: 添加一个小按钮控制虚拟按键的隐藏和显示,在虚拟按键添加音量控制也是如此!
jquery虚拟键盘中文打字效果
labview 虚拟键盘labview虚拟键盘vi
采用LabVIEW软件开发了虚拟振动测试仪,可完成振动信号的实时虚拟采集、处理和分析以及振动测试的演示。软件中涉及数字滤波、相关分析、谱分析等信号处理方法
Unity 虚拟开发中需要的虚拟键盘插件
javascript实现虚拟键盘,可以进行样式调整,可以用在触摸屏上的小工具
jQuery键盘插件网页虚拟键盘输入代码 jQuery键盘插件网页虚拟键盘输入代码
jQuery网页虚拟键盘点击输入文本效果
Jquery虚拟键盘中文打字效果是一款基于jquery实现的精简版虚拟键盘中文打字input value赋值效果。
虚拟仪器在振动测试中的应用案例,介绍了振动测试分析系统软件设计方法。
WPF .net Framework 4.6.2 虚拟键盘自定义控件;适合新手借鉴、程序应急使用;直接上源码,可自行修改; 虚拟键盘(支持英文,数字输入,及部分特殊字符(特殊字符都为英文字符)) 1.0版本;后续慢慢增加其他功能及其他...
为触摸屏程序添加虚拟键盘,在VS2008上调试通过
delphi开启虚拟键盘的源代码,看了就懂
虚拟键盘 c# 源代码
QT 实现的虚拟键盘 支持跨平台编译,支持中文
适合触摸屏用的字符式虚拟键盘,labview程序,可以在触摸屏上输入数字和字母字符,用于客户输入和配方输入,并且有密码输入显示*号功能。做项目时一直使用。
jQuery虚拟数字键盘按键输入代码是一款简单好调用的虚拟键盘插件,点击输入框弹出虚拟数字键盘按键输入效果。
ARM Linux Ubuntu 的虚拟键盘配置文件,不用编译,直接拷贝编译好的文件到工程目录即可使用。
一个javascript模拟的 虚拟键盘,效果非常棒!