virtual bool CheckEvent(SDL_Event * event) {
#if OLD_JOYSTICK
		SDL_JoyAxisEvent * jaxis = NULL;
		SDL_JoyButtonEvent * jbutton = NULL;

	switch(event->type) {
		case SDL_JOYAXISMOTION:
			jaxis = &event->jaxis;
			if(jaxis->which == stick)
			        if(jaxis->axis == 0)
					JOYSTICK_Move_X(emustick,(float)(jaxis->value/32768.0));
				else if(jaxis->axis == 1)
					JOYSTICK_Move_Y(emustick,(float)(jaxis->value/32768.0));
			break;
		case SDL_JOYBUTTONDOWN:
		case SDL_JOYBUTTONUP:
			jbutton = &event->jbutton;
			bool state;
			state=jbutton->type==SDL_JOYBUTTONDOWN;
			if ((jbutton->which == stick) && (jbutton->button<2)) {
				JOYSTICK_Button(emustick,jbutton->button,state);
			}
			break;
	}
#endif
		return false;
	}
Beispiel #2
0
    void process()
    {
        const float value = (float)input_cb(retroPort, RDEV(ANALOG), retroSide, retroAxis);

        if(dosboxAxis == 0) JOYSTICK_Move_X(dosboxPort, value / 32768.0f);
        else                JOYSTICK_Move_Y(dosboxPort, value / 32768.0f);
    }
Beispiel #3
0
 void release() const
 {
     if(dosboxAxis==0)
     {
         if(retroID==RETRO_DEVICE_ID_JOYPAD_LEFT)
             JOYSTICK_Move_X(dosboxPort, -0);
         if(retroID==RETRO_DEVICE_ID_JOYPAD_RIGHT)
             JOYSTICK_Move_X(dosboxPort, 0);
     }
     else
     {
         if(retroID==RETRO_DEVICE_ID_JOYPAD_UP)
             JOYSTICK_Move_Y(dosboxPort, -0);
         if(retroID==RETRO_DEVICE_ID_JOYPAD_DOWN)
             JOYSTICK_Move_Y(dosboxPort, 0);
     }
 }
Beispiel #4
0
 void press() const
 {
     if(dosboxAxis==0)
     {
         if(retroID==RETRO_DEVICE_ID_JOYPAD_LEFT)
             JOYSTICK_Move_X(dosboxPort, -1.0f);
         if(retroID==RETRO_DEVICE_ID_JOYPAD_RIGHT)
             JOYSTICK_Move_X(dosboxPort, 1.0f);
     }
     else
     {
         if(retroID==RETRO_DEVICE_ID_JOYPAD_UP)
             JOYSTICK_Move_Y(dosboxPort, -1);
         if(retroID==RETRO_DEVICE_ID_JOYPAD_DOWN)
             JOYSTICK_Move_Y(dosboxPort, 1);
     }
 }