FAQ_Driveri
putsystem
FAQ06834TouchPa
elTouchPa
el的虚拟按键没有震感
FAQ发布时间20130515
PlatformMT6575MT6577MT6589MT6572
Bra
chICSICS2JBJB2
FAQCo
te
t
【问题描述】
Setti
g情景模式使能振动选项TP虚拟按键无振动效果
【问题原因】
在TouchPa
el的driver中如果虚拟按键是以i
put_report_keytpdkpdkey_codekey_val
方式上报key值是不会有触感的。
如果虚拟按键是以坐标形式上报如下所示
i
put_report_abstpddevABS_MT_POSITION_Xx
i
put_report_abstpddevABS_MT_POSITION_Yy
上报的就会有触感。
【解决方法】
把虚拟按键以坐标的形式上报。
1TPD_HAVE_BUTTON宏要打开defi
eTPD_HAVE_BUTTON
2定义按键的坐标位置具体定义可以参考FAQ03862电容屏客制化文件vitualkey的配置
defi
eTPD_BUTTON_HEIGH100
defi
eTPD_KEY_COUNT3
defi
eTPD_KEYSKEY_MENUKEY_HOMEKEY_BACK
defi
eTPD_KEYS_DIM80850160TPD_BUTTON_HEIGH240850160TPD_BUTTON_HEIGH400850160TPD_BUTTON_HEIGH
3从TouchPa
el中读到的虚拟按键数据有两种一种是key值123另一种是报的坐标值xy
如果读出的虚拟按键值为坐标那直接按TouchPa
el报坐标点的方式上报就OK了。
如果是key值那就需要把key人为的转为坐标然后在上报。
【例子】
以msg2133为列它的虚拟按键读取的为key值需要转成坐标上报code如下
staticvoidtpd_dow
i
txi
tyi
tpi
tid
i
put_report_abstpddevABS_MT_TOUCH_MAJOR100
i
put_report_abstpddevABS_PRESSURE100
i
put_report_keytpddevBTN_TOUCH1
i
put_report_abstpddevABS_MT_POSITION_Xx
i
put_report_abstpddevABS_MT_POSITION_Yy
ftrackidStart0
i
put_report_abstpddevABS_MT_TRACKING_IDp
i
put_mt_sy
ctpddev
ifFACTORY_BOOTget_boot_modeRECOVERY_BOOTget_boot_mode
tpd_butto
xy1
ifyTPD_RES_Yvirtualkeydebou
cetoavoida
droidANRissue
msleep50
TPD_DEBUG