三行三列的扫描模式的键盘,有一行一列上的按键监听不到
2014-02-27 21:54
429 查看
原因:该行列被JTAG专用了,去掉JTAG相关电阻后ok了,但是又出现了一个问题,3X3上做了拓展key后,原来的代码并未考虑拓展问题,刚好屏蔽的两个键值是我用到的
在kpd.c中的kpd_pdrv_probe函数中做如是修改
#if (KPD_USE_EXTEND_TYPE)
#if (KPD_PWRKEY_USE_EINT||KPD_PWRKEY_USE_PMIC)
__set_bit(KPD_PWRKEY_MAP, kpd_input_dev->keybit);
kpd_keymap[7] = 0;
#endif
for (i = 14; i < KPD_NUM_KEYS; i += 7)
/* only [8] works for Power key */
kpd_keymap[i] = 0;
#else
#if (KPD_PWRKEY_USE_EINT||KPD_PWRKEY_USE_PMIC)
__set_bit(KPD_PWRKEY_MAP, kpd_input_dev->keybit);
kpd_keymap[8] = 0;
#endif
for (i = 17; i < KPD_NUM_KEYS; i += 9)
/* only [8] works for Power key */
kpd_keymap[i] = 0;
#endif
此外,kernel中可通过在kpd.c中kpd_get_keymap_state函数监听按键值
在kpd.c中的kpd_pdrv_probe函数中做如是修改
#if (KPD_USE_EXTEND_TYPE)
#if (KPD_PWRKEY_USE_EINT||KPD_PWRKEY_USE_PMIC)
__set_bit(KPD_PWRKEY_MAP, kpd_input_dev->keybit);
kpd_keymap[7] = 0;
#endif
for (i = 14; i < KPD_NUM_KEYS; i += 7)
/* only [8] works for Power key */
kpd_keymap[i] = 0;
#else
#if (KPD_PWRKEY_USE_EINT||KPD_PWRKEY_USE_PMIC)
__set_bit(KPD_PWRKEY_MAP, kpd_input_dev->keybit);
kpd_keymap[8] = 0;
#endif
for (i = 17; i < KPD_NUM_KEYS; i += 9)
/* only [8] works for Power key */
kpd_keymap[i] = 0;
#endif
此外,kernel中可通过在kpd.c中kpd_get_keymap_state函数监听按键值
相关文章推荐
- Android 监听软键盘按键的三种方式
- Android 监听软键盘按键的三种方式
- Android App监听软键盘按键的三种方式
- Android App监听软键盘按键的三种方式
- 【按键】短按,长按,按键释放,三种模式的按键扫描程序(软件消抖动)
- Android 监听软键盘按键
- Android App监听软键盘按键的三种方式 以及 输入法删除退格键的冲突问题解决
- IOS第五天(2:用户登录,回车的监听(代理模式UITextFieldDelegate)) 和关闭键盘
- 基于Jquery实现键盘按键监听
- Android App监听软键盘按键的三种方式
- Android键盘 AOSP监听delete按键
- 巧妙的按键扫描程序,核心算法只有三行
- Android App监听软键盘按键的三种方式与改变软键盘右下角确定键样式
- Android初学习 - App监听软键盘按键的三种方式
- Android App监听软键盘按键的三种方式
- 新型的按键扫描程序,仅三行程序
- Android App监听软键盘按键的三种方式
- android 监听软键盘按键的三种方式--和--隐藏系统键盘
- Unigine 监听键盘事件和模拟按键
- wordpress键盘事件监听,按键翻页功能