コード例 #1
0
/*
 * 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);
}
コード例 #2
0
/*
 * 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);
}