[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人爲的轉爲座標,然後在上報。
虛擬按鍵 振動效果
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
從Android源碼生成系統簽名文件platform.jks
TheDaybreak
2020-07-01 04:24:49
Android 瀏覽器設置中的搜索引擎
iteye_17349
2020-02-25 15:56:36
AndroidAudio播放:競爭Audio之Audio Focus的應用
iteye_17349
2020-02-25 15:56:36
Android4.0.3源碼如何在Eclipse調試
赐给我一个昵称吧
2020-02-20 20:36:46
platform.jks生成
TheDaybreak
2019-08-23 10:37:49
Android selinux安全策略
iteye_17349
2018-09-12 09:10:39
Android UiAutomator 自動化測試
iteye_17349
2018-09-12 09:10:39
Android 簽名信息讀取
iteye_17349
2018-09-12 09:10:39
Android wifi captive portal 驗證
iteye_17349
2018-09-12 09:10:39
Android 之 日期時間 時區同步
iteye_17349
2018-09-12 09:10:39
Android 多語言 多地區對應表
iteye_17349
2018-09-12 09:10:39
Android CTS windows環境下測試
iteye_17349
2018-09-12 09:10:39
Android emulated sdcard
iteye_17349
2018-09-09 21:18:57
Android 動態庫死機調試方法
iteye_17349
2018-09-07 15:41:39
Android sqlite3 詳解
iteye_17349
2018-09-06 10:54:44