出處: https://www.jianshu.com/p/ffb689b2d4c1
接收gpio信號輸入
1. 平台相關配置文件msm8909-mtp.dtsi文件中找到gpio_keys節,增加藍字相關內容

msm8909_gpio5.png
2. 引腳相關配置文件msm8909-pinctrl.dtsi文件中找到tlmm_gpio_key節,增加或更改紅字相關內容

msm8909_gpio6.png
3. device\qcom\msm8909\gpio-keys.kl中增加鍵盤掃描碼對應的鍵盤碼
鍵盤碼是Android系統收到底層驅動提交的掃描碼後,向App發送的鍵盤碼,比如本例
key 77 F7掃描碼對應給App的鍵盤碼是F7,F7對應的值在frameworks\base\core\java\android\view\KeyEvent.java有現成定義:
public static final int KEYCODE_F7 =137;
另外,在root過的Android設備上直接更改system\usr\keylayout\gpio-keys.kl文件,可以為設備的按鍵直接更改功能。议将整个源代码重新编译一下,在进行烧写。gpio口對應關係
msm8909-mtp.dtsi文件
msm8909_gpio1msm8909-pinctrl.dtsi文件
msm8909_gpio2.png原理圖上對應管腳
msm8909_gpio3.png硬件手冊對應gpio口
msm8909_gpio4.png說明
配置好gpio後,重新編譯源代碼燒寫系統,短接該gpio口就可以在java側收到F7鍵盤消息,通過該消息監聽該gpio口輸入。
作者:QUSIR
链接:https://www.jianshu.com/p/ffb689b2d4c1
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。