MTK android 键值映射问题
时间:10-02
整理:3721RD
点击:
void kpd_my_tongle_key_eint_handler(void)
{
bool pressed = 1;
myphone_tongle_key_status = mt_get_GPIO_in(GPIO_TONGLE_KEY_EINT_PIN);
mt65xx_eint_mask(CUST_EINT_TONGLE_KEY_NUM);
if(myphone_tongle_key_status)
{
kpd_backlight_handler(pressed, MY_TONGLE_KEY_UP_CODE);
input_report_key(kpd_input_dev, MY_TONGLE_KEY_UP_CODE, pressed);
input_report_key(kpd_input_dev, MY_TONGLE_KEY_UP_CODE, 0);
input_sync(kpd_input_dev);
kpd_print("report tongle up linux keycode = %u\n", MY_TONGLE_KEY_UP_CODE);
}
else
{
kpd_backlight_handler(pressed, MY_TONGLE_KEY_DOWN_CODE);
input_report_key(kpd_input_dev, MY_TONGLE_KEY_DOWN_CODE, pressed);
input_report_key(kpd_input_dev, MY_TONGLE_KEY_DOWN_CODE, 0);
input_sync(kpd_input_dev);
kpd_print("report tongle down Linux keycode = %u\n", MY_TONGLE_KEY_DOWN_CODE);
}
mt65xx_eint_registration(CUST_EINT_TONGLE_KEY_NUM, true, !myphone_tongle_key_status,kpd_my_tongle_key_eint_handler, /*true*/false);
mt65xx_eint_unmask(CUST_EINT_TONGLE_KEY_NUM);
}
#define MY_TONGLE_KEY_DOWN_CODE 212//KEY_MUTE/*KEY_MENU*/
#define MY_TONGLE_KEY_UP_CODE 211 //KEY_COMMA/*KEY_BACK*/
用上面的方法 212、211能打印出值来, KEY_MENU、KEY_BACK也能打印值来 , 如果用 KEY_COMMA跟KEY_MUTE就无法打印值来, 其他都一样,不知道有谁有没碰到类似的问题, 这个android的 键值映射具体是怎样的? 有没相关文档可以参考的?
{
bool pressed = 1;
myphone_tongle_key_status = mt_get_GPIO_in(GPIO_TONGLE_KEY_EINT_PIN);
mt65xx_eint_mask(CUST_EINT_TONGLE_KEY_NUM);
if(myphone_tongle_key_status)
{
kpd_backlight_handler(pressed, MY_TONGLE_KEY_UP_CODE);
input_report_key(kpd_input_dev, MY_TONGLE_KEY_UP_CODE, pressed);
input_report_key(kpd_input_dev, MY_TONGLE_KEY_UP_CODE, 0);
input_sync(kpd_input_dev);
kpd_print("report tongle up linux keycode = %u\n", MY_TONGLE_KEY_UP_CODE);
}
else
{
kpd_backlight_handler(pressed, MY_TONGLE_KEY_DOWN_CODE);
input_report_key(kpd_input_dev, MY_TONGLE_KEY_DOWN_CODE, pressed);
input_report_key(kpd_input_dev, MY_TONGLE_KEY_DOWN_CODE, 0);
input_sync(kpd_input_dev);
kpd_print("report tongle down Linux keycode = %u\n", MY_TONGLE_KEY_DOWN_CODE);
}
mt65xx_eint_registration(CUST_EINT_TONGLE_KEY_NUM, true, !myphone_tongle_key_status,kpd_my_tongle_key_eint_handler, /*true*/false);
mt65xx_eint_unmask(CUST_EINT_TONGLE_KEY_NUM);
}
#define MY_TONGLE_KEY_DOWN_CODE 212//KEY_MUTE/*KEY_MENU*/
#define MY_TONGLE_KEY_UP_CODE 211 //KEY_COMMA/*KEY_BACK*/
用上面的方法 212、211能打印出值来, KEY_MENU、KEY_BACK也能打印值来 , 如果用 KEY_COMMA跟KEY_MUTE就无法打印值来, 其他都一样,不知道有谁有没碰到类似的问题, 这个android的 键值映射具体是怎样的? 有没相关文档可以参考的?
可能是上层将这些按键屏蔽掉了。
好像得 set_bit 一下
上层好像也没做特殊处理,我用F9 F10 也不行, 有没可能是键值映射过程中 那个环节中断了 没连接上。
上层得定义相应键值才可以