From 3294a304bf0777232feb17e7adcde5bcff73c482 Mon Sep 17 00:00:00 2001 From: Yves Rizoud Date: Fri, 15 Jan 2010 19:47:27 +0000 Subject: [PATCH] Issue 275: Fixed cursor 'moving by itself' by disabling joystick control on desktop platforms git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1251 416bcca6-2ee7-4201-b75f-2eb2f807beb1 --- Makefile | 15 ++++++++------- input.c | 12 +++++++----- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 568fc941..511e7b03 100644 --- a/Makefile +++ b/Makefile @@ -251,6 +251,7 @@ else NOTTF = 1 PLATFORM = gp2x STRIP = /opt/open2x/gcc-4.1.1-glibc-2.3.6/arm-open2x-linux/bin/arm-open2x-linux-strip + JOYCOPT = -DUSE_JOYSTICK else # Compiles a regular linux exectutable for the native platform @@ -302,13 +303,13 @@ else LUALABEL = endif -#To disable Joystick emulation of cursor, make NOJOY=1 (for input.o) -#This can be necessary to test keyboard cursor code, because an existing -#joystick will keep reporting a contradicting position. -ifeq ($(NOJOY),1) - JOYCOPT = -DNO_JOYCURSOR -else - JOYCOPT = +#To enable Joystick emulation of cursor, make USE_JOYSTICK=1 (for input.o) +#This can be necessary to test cursor code on a PC, but by default for all +#non-console platforms the joystick is disabled, to avoid reporting +#'restless' movements when an analog joystick or a poorly-calibrated joypad +#is plugged in. +ifeq ($(USE_JOYSTICK),1) + JOYCOPT = -DUSE_JOYSTICK endif #To speed up rendering, can disable the layered editing diff --git a/input.c b/input.c index ac5d4db9..74e22fe4 100644 --- a/input.c +++ b/input.c @@ -465,7 +465,6 @@ int Handle_joystick_press(SDL_JoyButtonEvent event) #ifdef __GP2X__ switch(event.button) { - #ifndef NO_JOYCURSOR case GP2X_BUTTON_UP: Directional_up=1; break; @@ -490,7 +489,6 @@ int Handle_joystick_press(SDL_JoyButtonEvent event) case GP2X_BUTTON_UPLEFT: Directional_up_left=1; break; - #endif default: break; } @@ -563,7 +561,6 @@ int Handle_joystick_release(SDL_JoyButtonEvent event) void Handle_joystick_movement(SDL_JoyAxisEvent event) { - #ifndef NO_JOYCURSOR if (event.axis==0) // X { Directional_right=Directional_left=0; @@ -584,7 +581,6 @@ void Handle_joystick_movement(SDL_JoyAxisEvent event) else if (event.value>1000) Directional_down=1; } - #endif } // Attempts to move the mouse cursor by the given deltas (may be more than 1 pixel at a time) @@ -674,6 +670,9 @@ int Get_input(void) Handle_key_release(event.key); break; + // Start of Joystik handling + #ifdef USE_JOYSTICK + case SDL_JOYBUTTONUP: Handle_joystick_release(event.jbutton); user_feedback_required = 1; @@ -687,7 +686,10 @@ int Get_input(void) case SDL_JOYAXISMOTION: Handle_joystick_movement(event.jaxis); break; - + + #endif + // End of Joystick handling + default: // DEBUG("Unhandled SDL event number : ",event.type); break;