示例#1
0
static void report_keytouch_key(struct kp *kp)
{
	int i;

	read_keys_value();
	for (i = 0; i < keynum; i++) {
		if(gamekeys[i].value == gamekeys[i].old_value) {
			if(gamekeys[i].value && gamekeys[i].point) {
				keytouch_report(kp, key_param[gamekeys[i].num], key_param[gamekeys[i].num + 1], gamekeys[i].id);
				gamekeys[i].flag = 0;
			} else {
				gamekeys[i].flag = 1;
			}
		}
		gamekeys[i].old_value = gamekeys[i].value;
	}
}
示例#2
0
static void report_joystick_key(struct kp *kp)
{
	int i;

	read_keys_value();
	for (i = 0; i < keynum; i++) {
		if(gamekeys[i].value == gamekeys[i].old_value) {
			if (gamekeys[i].value == gamekeys[i].flag) {
				if(gamekeys[i].value) {
					input_report_key(kp->input_joystick, gamekeys[i].code, 1);
					input_mt_sync(kp->input_joystick);
					gamekeys[i].flag = 0;
					//printk("%s press\n", gamekeys[i].name);
				} else {
					input_report_key(kp->input_joystick, gamekeys[i].code, 0);
					input_mt_sync(kp->input_joystick);
					gamekeys[i].flag = 1;
					//printk("%s release\n", gamekeys[i].name);
				}
			}
		}
		gamekeys[i].old_value = gamekeys[i].value;
	}
}
示例#3
0
static void report_joystick_key(struct kp *kp)
{
	int i;

	read_keys_value(kp);
	for (i = 0; i < keynum; i++) {
		if(gamekeys[i].value == gamekeys[i].old_value) {
			if (gamekeys[i].value == gamekeys[i].flag) {
				if(gamekeys[i].value) {
					//printk("%s press\n", gamekeys[i].name);
#if L2_R2
					input_report_key(kp->input_joystick, gamekeys[i].code, 1);
					input_mt_sync(kp->input_joystick);
#else
					if((i == 6) || (i == 7)) {
						;
					} else {
						input_report_key(kp->input_joystick, gamekeys[i].code, 1);
						input_mt_sync(kp->input_joystick);
					}
#endif
					gamekeys[i].flag = 0;
					if(i == 6)
						brake = 0xff;
					if(i == 7)
						gas = 0xff;
#if DPAD_AXIS
					if(i == 8)
						hatx = -0xff;
					else if(i == 9)
						hatx = 0xff;
					if(i == 10)
						haty = -0xff;
					else if(i == 11)
						haty = 0xff;
#endif
				} else {
					//printk("%s release\n", gamekeys[i].name);
#if L2_R2
					input_report_key(kp->input_joystick, gamekeys[i].code, 0);
					input_mt_sync(kp->input_joystick);
#else
					if((i == 6) || (i == 7)) {
						;
					} else {
						input_report_key(kp->input_joystick, gamekeys[i].code, 0);
						input_mt_sync(kp->input_joystick);
					}
#endif
					gamekeys[i].flag = 1;
					if(i == 6)
						brake = 0;
					if(i == 7)
						gas = 0;
#if DPAD_AXIS
					if((i == 8) || (i == 9))
						hatx = 0;
					if((i == 10) || (i == 11))
						haty = 0;
#endif
				}
			}
		}
		gamekeys[i].old_value = gamekeys[i].value;
	}
}