More work from Ankit on joystick.

This commit is contained in:
Pere Pujal i Carabantes 2010-08-10 23:13:59 +00:00
parent 2fb9c3c298
commit d0f636a1c5

View file

@ -1990,9 +1990,8 @@ static void mainloop(void)
int done, tool_flag, canvas_flag,text_flag, val_x, val_y, old_x, old_y, new_x, new_y, int done, tool_flag, canvas_flag,text_flag, val_x, val_y, old_x, old_y, new_x, new_y,
line_start_x, line_start_y, line_end_x, line_end_y, shape_tool_mode, line_start_x, line_start_y, line_end_x, line_end_y, shape_tool_mode,
shape_ctr_x, shape_ctr_y, shape_outer_x, shape_outer_y, color_flag, shape_ctr_x, shape_ctr_y, shape_outer_x, shape_outer_y, color_flag,
old_stamp_group, which, whicht, whichc, test_x, test_y, iota; old_stamp_group, which, whicht, whichc, test_x, test_y, motioner;
int num_things; int num_things;
iota = 0;
int *thing_scroll; int *thing_scroll;
int cur_thing, do_draw, max; int cur_thing, do_draw, max;
int ignoring_motion; int ignoring_motion;
@ -3066,20 +3065,42 @@ static void mainloop(void)
else if (event.type == SDL_JOYAXISMOTION) else if (event.type == SDL_JOYAXISMOTION)
{ {
if ( ( event.jaxis.value < -3200 ) || (event.jaxis.value > 3200 ) ) motioner = event.jaxis.value;
if ( ( event.jaxis.value < -3200 ) || (event.jaxis.value > 3200 ))
{ {
printf ("\n value : %d \n",event.jaxis.value ); val_x = (int)((SDL_JoystickGetAxis(joystick, 0) / 32768.0f) * 3);
val_x = (int)((SDL_JoystickGetAxis(joystick, 0) / 32768.0f) * 4); val_y = (int)((SDL_JoystickGetAxis(joystick, 1) / 32768.0f) * 3);
val_y = (int)((SDL_JoystickGetAxis(joystick, 1) / 32768.0f) * 4); // printf ("\n value : %d , %d, %d, %d\n",event.jaxis.value, event.jaxis.axis, val_x, val_y);
old_x += val_x; old_x += val_x;
old_y += val_y; old_y += val_y;
new_x = old_x + button_w * 2; new_x = old_x + button_w * 2;
new_y = old_y; new_y = old_y;
SDL_WarpMouse(new_x,new_y); SDL_WarpMouse(old_x + button_w * 2, old_y);
update_canvas(0, 0, WINDOW_WIDTH - 96, (48 * 7) + 40 + HEIGHTOFFSET); update_canvas(0, 0, WINDOW_WIDTH - 96, (48 * 7) + 40 + HEIGHTOFFSET);
} }
} }
else if (motioner == -32768)
{
// printf ("\n values are : %d , %d\n",val_x, val_y);
old_x += val_x;
old_y += val_y;
new_x = old_x + button_w * 2;
new_y = old_y;
SDL_WarpMouse(old_x + button_w * 2, old_y);
update_canvas(0, 0, WINDOW_WIDTH - 96, (48 * 7) + 40 + HEIGHTOFFSET);
}
else if (motioner == 32767)
{
old_x += val_x;
old_y += val_y;
new_x = old_x + button_w * 2;
new_y = old_y;
SDL_WarpMouse(old_x + button_w * 2, old_y);
update_canvas(0, 0, WINDOW_WIDTH - 96, (48 * 7) + 40 + HEIGHTOFFSET);
}
else if (event.type == SDL_JOYBALLMOTION) else if (event.type == SDL_JOYBALLMOTION)
{ {
if ( event.jball.ball == 0 ) if ( event.jball.ball == 0 )
@ -3091,7 +3112,7 @@ static void mainloop(void)
old_y += val_y; old_y += val_y;
new_x = old_x + button_w * 2; new_x = old_x + button_w * 2;
new_y = old_y; new_y = old_y;
SDL_WarpMouse(new_x,new_y); SDL_WarpMouse(old_x + button_w * 2, old_y);
update_canvas(0, 0, WINDOW_WIDTH - 96, (48 * 7) + 40 + HEIGHTOFFSET); update_canvas(0, 0, WINDOW_WIDTH - 96, (48 * 7) + 40 + HEIGHTOFFSET);
} }
} }