k_sraxis_mbrowse_h,
k_sraxis_mbrowse_v,
k_sraxis_replay_h,
- k_sraxis_mworld_h,
-
k_sraxis_max
};
vg_joy_button, SDL_CONTROLLER_BUTTON_B, vg_end
},
[k_srbind_trick2] = (vg_input_op[]){
- vg_mode_mul, vg_mouse, SDL_BUTTON_LEFT, vg_mouse, SDL_BUTTON_RIGHT,
+ vg_mouse, SDL_BUTTON_LEFT, vg_mode_mul, vg_mouse, SDL_BUTTON_RIGHT,
vg_mode_absmax, vg_joy_button, SDL_CONTROLLER_BUTTON_X, vg_end
},
[k_srbind_use] = INPUT_BASIC( SDLK_e, SDL_CONTROLLER_BUTTON_Y ),
[k_srbind_mback] = INPUT_BASIC( SDLK_ESCAPE, SDL_CONTROLLER_BUTTON_B ),
[k_srbind_mopen] = INPUT_BASIC( SDLK_ESCAPE, SDL_CONTROLLER_BUTTON_START ),
[k_srbind_maccept] = (vg_input_op[]){
- vg_keyboard, SDLK_e, vg_keyboard, SDLK_RETURN, vg_keyboard, SDLK_RETURN2,
+ vg_keyboard, SDLK_e, vg_gui_visible, 0,
+ vg_keyboard, SDLK_RETURN, vg_keyboard, SDLK_RETURN2,
+ vg_gui_visible, 1,
vg_joy_button, SDL_CONTROLLER_BUTTON_A, vg_end
},
[k_srbind_replay_play] = INPUT_BASIC( SDLK_g, SDL_CONTROLLER_BUTTON_X ),
vg_joy_axis, SDL_CONTROLLER_AXIS_TRIGGERRIGHT, vg_end
},
[k_sraxis_mbrowse_h] = (vg_input_op[]){
- vg_mode_add, vg_keyboard, SDLK_RIGHT,
vg_mode_sub, vg_keyboard, SDLK_LEFT,
+ vg_mode_add, vg_keyboard, SDLK_RIGHT,
vg_mode_absmax, vg_joy_axis, SDL_CONTROLLER_AXIS_LEFTX,
vg_end
},
[k_srjoystick_steer] = (vg_input_op[]){
vg_index, 0, vg_mode_add, vg_keyboard, SDLK_d,
vg_mode_sub, vg_keyboard, SDLK_a,
- vg_mode_absmax, vg_joy_axis, SDL_CONTROLLER_AXIS_LEFTX,
vg_index, 1, vg_mode_add, vg_keyboard, SDLK_s,
vg_mode_sub, vg_keyboard, SDLK_w,
- vg_mode_absmax, vg_joy_axis, SDL_CONTROLLER_AXIS_LEFTY,
+ vg_mode_absmax, vg_joy_ls,
vg_end
},
[k_srjoystick_grab] = (vg_input_op[]){
- vg_index, 0, vg_mode_absmax, vg_joy_axis, SDL_CONTROLLER_AXIS_RIGHTX,
- vg_index, 1, vg_mode_absmax, vg_joy_axis, SDL_CONTROLLER_AXIS_RIGHTY,
- vg_end
+ vg_joy_rs, vg_end
},
[k_srjoystick_look] = (vg_input_op[]){
- vg_index, 0, vg_mode_absmax, vg_joy_axis, SDL_CONTROLLER_AXIS_RIGHTX,
- vg_index, 1, vg_mode_absmax, vg_joy_axis, SDL_CONTROLLER_AXIS_RIGHTY,
- vg_end
+ vg_joy_rs, vg_end
},
[k_srjoystick_max]=NULL
};
enum input_state {
k_input_state_enabled,
k_input_state_resume,
+ k_input_state_resuming,
k_input_state_pause
}
state;
}
static srinput;
+#if 0
static const char *controller_glyphs[ SDL_CONTROLLER_BUTTON_MAX ][2] =
{ /* xbox/generic playstation */
[ SDL_CONTROLLER_BUTTON_A ] = { "\x1e\x85","\x1e\x82" },
[k_sraxis_mbrowse_h] = "\x88",
[k_sraxis_mbrowse_v] = "\x89",
[k_sraxis_replay_h] = "\x8f\x90",
- [k_sraxis_mworld_h] = "\x93\x95"
};
const char *keyboard_table[ k_sraxis_max ] = {
[k_sraxis_mbrowse_h] = KEYBOARD_GLYPH("\x93")KEYBOARD_GLYPH("\x95"),
[k_sraxis_mbrowse_v] = KEYBOARD_GLYPH("\x96")KEYBOARD_GLYPH("\x94"),
[k_sraxis_replay_h] = KEYBOARD_GLYPH("Q")KEYBOARD_GLYPH("E"),
- [k_sraxis_mworld_h] = KEYBOARD_GLYPH("\x93")KEYBOARD_GLYPH("\x95"),
};
if( vg_input.display_input_method == k_input_method_controller )
return controller_table[ joystick ][axis];
else return keyboard_table[ joystick ][axis];
}
+#endif
static int input_filter_generic(void){
if( srinput.state != k_input_state_enabled ||
return srinput.axis_states[axis][0];
}
-static void setbtn( enum sr_bind button, u8 value )
-{
- srinput.button_states[button][0] |= value;
-}
-
static void skaterift_preupdate_inputs(void){
- if( srinput.state == k_input_state_resume )
+ if( srinput.state == k_input_state_resuming )
srinput.state = k_input_state_enabled;
+ if( srinput.state == k_input_state_resume )
+ srinput.state = k_input_state_resuming;
+
for( u32 i=0; i<k_srbind_max; i++ ){
srinput.button_states[i][1] = srinput.button_states[i][0];
srinput.button_states[i][0] = 0;
srinput.axis_states[i][0] = 0.0f;
}
- u32 mouse = SDL_GetMouseState(NULL,NULL),
- mouse1= (mouse & SDL_BUTTON(SDL_BUTTON_LEFT))? 1: 0,
- mouse2= (mouse & SDL_BUTTON(SDL_BUTTON_RIGHT))? 1: 0;
-
for( int i=0; i<k_srbind_max; i++ ){
vg_input_op *prog = input_button_list[i];
if( prog ){
srinput.joystick_states[i][0] );
}
}
+
+ f32 x = srinput.axis_states[k_sraxis_mbrowse_h][0],
+ y = srinput.axis_states[k_sraxis_mbrowse_v][0],
+ sensitivity = 0.35f;
+
+ if( fabsf(x) > sensitivity ){
+ if( x > 0.0f ) srinput.button_states[k_srbind_mright][0] = 1;
+ else srinput.button_states[k_srbind_mleft][0] = 1;
+ }
+
+ if( fabsf(y) > sensitivity ){
+ if( y > 0.0f ) srinput.button_states[k_srbind_mup][0] = 1;
+ else srinput.button_states[k_srbind_mdown][0] = 1;
+ }
}
#endif /* INPUT_H */