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; } }
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; } }
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; } }