コード例 #1
0
static void button_pressed(void)
{
	H2W_DBG(" ");
	
	atomic_set(&hi->btn_state, 1);
	input_report_key(hi->input, KEY_MEDIA, 1);
	input_sync(hi->input);
#if 0 //def CONFIG_LGE_DIAGTEST
	if(if_condition_is_on_key_buffering == 1)
		lgf_factor_key_test_rsp((u8)KEY_MEDIA);
#endif
}
コード例 #2
0
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;


        if (key_code != HS_REL_K)
            testmode_input_scancode(key);


	switch (key) {
#ifndef CONFIG_MACH_MSM7X27_ALOHAV
	case KEY_POWER:
	case KEY_END:
		input_report_key(hs->ipdev, key, (key_code != HS_REL_K));
		break;
	case KEY_MEDIA:
			input_report_key(hs->ipdev, key, (key_code != HS_REL_K));
		break;
	case KEY_CONNECT:
		if (deskdock_detect_callback)
			deskdock_detect_callback((key_code != HS_REL_K));
		break;
#else 
	case KEY_POWER:
	case KEY_END:
	case KEY_MEDIA:
	case KEY_VOLUMEUP:
	case KEY_VOLUMEDOWN:
		input_report_key(hs->ipdev, key, (key_code != HS_REL_K));
#if defined(CONFIG_LGE_DIAGTEST)
		
		if(if_condition_is_on_key_buffering == HS_TRUE && key_code == 0)
			lgf_factor_key_test_rsp((uint8_t)key);
#endif
		break;
#endif 

	case SW_HEADPHONE_INSERT:
		report_headset_switch(hs->ipdev, key, (key_code != HS_REL_K));
#if defined(CONFIG_LGE_DIAGTEST)
		
		if(if_condition_is_on_key_buffering == HS_TRUE && key_code == 0)
			lgf_factor_key_test_rsp((uint8_t)key);
#endif
		break;

	#if 0
	
	case KEY_HEADSETHOOK:
		input_report_key(hs->ipdev, key, (key_code != HS_REL_K));
		break;
	
	#endif
	
	case -1:
		printk(KERN_ERR "%s: No mapping for remote handset event %d\n",
				 __func__, temp_key_code);
		return;
	}
	input_sync(hs->ipdev);
	
	printk(" %s : HS_KEY event : %d \n", __func__, key_code);
}
コード例 #3
0
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) {
#ifndef CONFIG_MACH_MSM7X27_ALOHAV
	case KEY_POWER:
	case KEY_END:
		input_report_key(hs->ipdev, key, (key_code != HS_REL_K));
		break;
	case KEY_MEDIA:
		if (gpio_get_value(GPIO_EAR_SENSE_BIAS) == 1) {
			/* LGE_CHANGE
			 * 2010-03-09, [email protected] To protect from wrong hook key operation
			 */ 
			input_report_key(hs->ipdev, key, (key_code != HS_REL_K));
		}
		break;
	case KEY_CONNECT:
		if (deskdock_detect_callback)
			deskdock_detect_callback((key_code != HS_REL_K));
		break;
#else /*CONFIG_MACH_MSM7X27_ALOHAG*/
	case KEY_POWER:
	case KEY_END:
	case KEY_MEDIA:
	case KEY_VOLUMEUP:
	case KEY_VOLUMEDOWN:
		input_report_key(hs->ipdev, key, (key_code != HS_REL_K));
#if defined(CONFIG_LGE_DIAGTEST)
		/* LGE_CHANGES
		 * [[email protected]] 2010-01-23, 
		 * [VS740] for key test
		 */
		if(if_condition_is_on_key_buffering == HS_TRUE && key_code == 0/*press*/)
			lgf_factor_key_test_rsp((uint8_t)key);
#endif
		break;
#endif /*CONFIG_MACH_MSM7X27_ALOHAG */

	case SW_HEADPHONE_INSERT:
#ifndef CONFIG_LGE_HEADSET
		report_headset_switch(hs->ipdev, key, (key_code != HS_REL_K));
#endif
#if defined(CONFIG_LGE_DIAGTEST)
		/* LGE_CHANGES
		 * [[email protected]] 2010-01-23
		 * [VS740] for key test */
		if(if_condition_is_on_key_buffering == HS_TRUE && key_code == 0/*press*/)
			lgf_factor_key_test_rsp((uint8_t)key);
#endif
		break;
	case -1:
		printk(KERN_ERR "%s: No mapping for remote handset event %d\n",
				 __func__, temp_key_code);
		return;
	}
	input_sync(hs->ipdev);
}
コード例 #4
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) {
#ifndef CONFIG_MACH_MSM7X27_ALOHAV
	case KEY_POWER:
	case KEY_END:
		input_report_key(hs->ipdev, key, (key_code != HS_REL_K));
#if defined (CONFIG_LGE_DIAGTEST)
		mtc_send_key_log_packet((unsigned long)key, !(key_code != HS_REL_K));
    ats_eta_mtc_key_logging((int)key, (key_code != HS_REL_K));
#endif
		break;
	case KEY_MEDIA:
		if (gpio_get_value(GPIO_EAR_SENSE_BIAS) == 1) {
			input_report_key(hs->ipdev, key, (key_code != HS_REL_K));
		}
		break;
	case KEY_CONNECT:
		if (deskdock_detect_callback)
			deskdock_detect_callback((key_code != HS_REL_K));
		break;
#else /*CONFIG_MACH_MSM7X27_ALOHAG*/
	case KEY_POWER:
	case KEY_END:
	case KEY_MEDIA:
	case KEY_VOLUMEUP:
	case KEY_VOLUMEDOWN:
		input_report_key(hs->ipdev, key, (key_code != HS_REL_K));
#if defined(CONFIG_LGE_DIAGTEST)
		if(if_condition_is_on_key_buffering == HS_TRUE && key_code == 0/*press*/)
			lgf_factor_key_test_rsp((uint8_t)key);
#endif
		break;
#endif /*CONFIG_MACH_MSM7X27_ALOHAG */

	case SW_HEADPHONE_INSERT:
#ifndef CONFIG_LGE_HEADSET
		report_headset_switch(hs->ipdev, key, (key_code != HS_REL_K));
#endif
#if defined(CONFIG_LGE_DIAGTEST)
		if(if_condition_is_on_key_buffering == HS_TRUE && key_code == 0/*press*/)
			lgf_factor_key_test_rsp((uint8_t)key);
#endif
		break;
	case -1:
		printk(KERN_ERR "%s: No mapping for remote handset event %d\n",
				 __func__, temp_key_code);
		return;
	}
	input_sync(hs->ipdev);
}