RK3399 gpio 做系统按键
一.kernel\arch\arm64\boot\dts\rockchip\rk3399-android.dtsi
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | rk_key: rockchip-key { compatible = "rockchip,key" ; status = "okay" ; //io-channels = <&saradc 0>; vol-up-key { linux,code = < 115 >; label = "volume up" ; rockchip,adc_value = < 1 >; }; vol-down-key { linux,code = < 114 >; label = "volume down" ; rockchip,adc_value = < 170 >; }; power-key { gpios = <&gpio0 5 GPIO_ACTIVE_LOW>; linux,code = < 116 >; label = "power" ; gpio-key,wakeup; }; gpio1-key { gpios = <&gpio2 4 GPIO_ACTIVE_LOW>; linux,code = < 131 >; label = "gpio1 key" ; gpio-key,wakeup; }; }; |
二.frameworks\native\include\android\keycodes.h
1 2 3 4 5 6 | /** F1 key. */ AKEYCODE_F1 = 131 , /** F2 key. */ AKEYCODE_F2 = 132 , /** F3 key. */ AKEYCODE_F3 = 133 , |
三.rk29-keypad.kl 加按键值
系统 优先加载 system\usr\keylayout\rk29-keypad.kl
device\rockchip\common\rk29-keypad.kl
1 2 3 4 5 6 7 8 9 10 11 12 | key 59 MENU key 102 HOME key 114 VOLUME_DOWN key 115 VOLUME_UP key 116 POWER key 143 NOTIFICATION key 158 BACK key 212 CAMERA key 217 SEARCH key 131 F1 key 132 F2 key 133 F3 |
四.frameworks\base\services\core\java\com\android\server\policy\PhoneWindowManager.java
public long interceptKeyBeforeDispatching(WindowState win, KeyEvent event, int policyFlags) {
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | else if (keyCode == 131 ){ if (!down) { //Log.d("gatsby", "gpio1_key xh_flag-> " + xh_flag +" gpio1_key num->"+gpio1_key); if (xh_flag){ if (gpio1_key % 2 != 0 ){ RootCommand( "settings put system screen_brightness 255" ); toastTest( "Highlight mode!" ); } else { RootCommand( "settings put system screen_brightness 110" ); toastTest( "Normal brightness!" ); } } gpio1_key++; } return - 1 ; } |
分类:
RockChip
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】