遙控器實現藍芽滑鼠滑動總結

2021-10-25 07:06:07 字數 915 閱讀 4331

需求

外設海外客戶需要用到瀏覽器, 瀏覽器沒有焦點滑動功能,所以這就需要用到遙控器模擬滑鼠滑動功能.

目前藍芽遙控器已經把遙控器模擬成了外設滑鼠,但是缺少滑動的功能.

所以目前的解決方案就是將對應模擬乙個滑動的事件出來(當滑鼠移動到頂(底)端並且還有對應的y軸移動時,即可模擬乙個滑動的事件)

frameworks/native/services/inputflinger/inputreader.cpp

@@ -

2851,6

+2850,:

sync

(nsecs_t when)

else

if(y >=

1070

&& deltay >0)

}}//觸發滑動事件

mwheelyvelocitycontrol.

move

(when, null,

&vscroll)

;mwheelxvelocitycontrol.

move

(when,

&hscroll, null)

;mpointervelocitycontrol.

move

(when,

&deltax,

&deltay)

;

外接裝置事件處理:inputreader.cpp 在這裡會接收滑鼠,鍵盤,觸控螢幕, 遊戲杆,external stylus-like devices.等

參考資料:

​ 目前這個還有個缺點,就是當接入外設滑鼠時,指標移動到頂端(底端)時,也會觸發滑鼠的滑動事件.

解決方案:需要藍芽遙控器切換滑鼠模式時,有對應的鍵碼值發出,在 if (deltay != 0) 新增乙個鍵碼接收.這樣可以規避此類問題.

工作記錄。。。。。

遙控器中斷

我們以4.9.44版本核心的ir遙控器為例。使用cat proc interrupts命令 其中橫向,第一列是中斷號,第二列是各中斷在cpu中發生的次數,gicv2 是中斷控制器的名稱,第三列也是中斷邏輯號,第四列是驅動註冊的中斷名稱。例如 中斷號 130 對應的就是遙控器的中斷。vendor ms...

遙控器控制互動

最近做到的空調面板調節溫度問題,大概是要通過面板的上下鍵控制溫度,溫度由兩位數字組成,要分別載入十位和個位上的數,不知道為什麼總覺得自己很思維定勢,不夠開闊,想法很單一,總想不到最便捷的方法,直到主程提醒又恍然大悟,我也總在思索 為什麼自己想不到,大概思路就是,定義乙個變數temp,個位除以10取餘...

神奇的遙控器

看完美國的 神奇遙控器 後,感慨多多。看完後,我知道人生在於分分秒秒的經歷,每經歷過一些,我們都能得到一些精彩,無論是痛苦還是快樂,有時覺得經歷一段人生低潮是很有必要的,痛苦的時刻也會給人帶來特殊的體驗。看完後,我開始想起家人,想著日日夜夜掛念我的爸媽,想著我的哥哥,姐姐和弟弟。家人需要的不是給他們...