/* * tuple format: (key_code, key_param) * * old-architecture: * key-press = (key_code, 0) * key-release = (0xff, key_code) * * new-architecutre: * key-press = (key_code, 0) * key-release = (key_code, 0xff) */ static void report_hs_key(uint32_t key_code, uint32_t key_parm) { int key, temp_key_code; if (key_code == HS_REL_K) key = hs_find_key(key_parm); else key = hs_find_key(key_code); temp_key_code = key_code; if (key_parm == HS_REL_K) key_code = key_parm; switch (key) { case KEY_POWER: case KEY_SLEEP:// KEY_END-->KEY_SLEEP 142 case KEY_MEDIA: case KEY_VOLUMEUP: case KEY_VOLUMEDOWN: printk(KERN_ERR "--keycode from A9\n \tkey:%d keycode:%d\n",key,key_code); input_report_key(hs->ipdev, key, (key_code != HS_REL_K)); break; case KEY_WAKEUP: printk(KERN_ERR "--keycode from A9(charger)\n \tkey:%d keycode:%d\n",key,key_code); #ifdef CONFIG_SCREEN_ON_WITHOUT_KEYOCDE msm_batt_force_update(); #else input_report_key(hs->ipdev, key, (key_code != HS_REL_K)); #endif //usb vbus notify by rpc_hs,wangzy_20111212 if(NULL != msm_vbus_notify){ if(key_code == HS_EXT_PWR_ON_K) msm_vbus_notify(1); if(key_code == HS_EXT_PWR_OFF_K) msm_vbus_notify(0); } //end break; case SW_HEADPHONE_INSERT: report_headset_switch(hs->ipdev, key, (key_code != HS_REL_K)); break; case -1: printk(KERN_ERR "%s: No mapping for remote handset event %d\n", __func__, temp_key_code); return; } input_sync(hs->ipdev); }
/* * tuple format: (key_code, key_param) * * old-architecture: * key-press = (key_code, 0) * key-release = (0xff, key_code) * * new-architecutre: * key-press = (key_code, 0) * key-release = (key_code, 0xff) */ static void report_hs_key(uint32_t key_code, uint32_t key_parm) { int key, temp_key_code; if (key_code == HS_REL_K) key = hs_find_key(key_parm); else key = hs_find_key(key_code); temp_key_code = key_code; if (key_parm == HS_REL_K) key_code = key_parm; switch (key) { case KEY_POWER: case KEY_SLEEP://ZTE_KEYMAP_ZX_001 KEY_END-->KEY_SLEEP 142 200911178 case KEY_MEDIA: case KEY_VOLUMEUP: case KEY_VOLUMEDOWN: printk(KERN_ERR "--keycode from A9\n \tkey:%d keycode:%d\n",key,key_code); input_report_key(hs->ipdev, key, (key_code != HS_REL_K)); break; case KEY_WAKEUP://ZTE_HS_ZHENGCHAO_01 printk(KERN_ERR "--keycode from A9(charger)\n \tkey:%d keycode:%d\n",key,key_code); #ifdef CONFIG_SCREEN_ON_WITHOUT_KEYOCDE msm_batt_force_update(); #else input_report_key(hs->ipdev, key, (key_code != HS_REL_K)); #endif break; case SW_HEADPHONE_INSERT: printk(KERN_ERR "HEADPHONE_INSERT from A9\n \tkey:%d keycode:%d\n",key,key_code); // ZTE_Audio_CJ_110307 report_headset_switch(hs->ipdev, key, (key_code != HS_REL_K)); break; case -1: printk(KERN_ERR "%s: No mapping for remote handset event %d\n", __func__, temp_key_code); return; } input_sync(hs->ipdev); }