+ const char *controller_table[ k_srbind_max ] = {
+ [k_srbind_jump] = controller_glyph( SDL_CONTROLLER_BUTTON_A ),
+ [k_srbind_push] = controller_glyph( SDL_CONTROLLER_BUTTON_B ),
+ [k_srbind_trick0] = controller_glyph( SDL_CONTROLLER_BUTTON_A ),
+ [k_srbind_trick1] = controller_glyph( SDL_CONTROLLER_BUTTON_B ),
+ [k_srbind_trick2] = controller_glyph( SDL_CONTROLLER_BUTTON_X ),
+ [k_srbind_use] = controller_glyph( SDL_CONTROLLER_BUTTON_Y ),
+ [k_srbind_reset] = controller_glyph( SDL_CONTROLLER_BUTTON_LEFTSHOULDER ),
+ [k_srbind_camera] = controller_glyph( SDL_CONTROLLER_BUTTON_RIGHTSHOULDER ),
+ [k_srbind_mleft] = controller_glyph( SDL_CONTROLLER_BUTTON_DPAD_LEFT ),
+ [k_srbind_mright] = controller_glyph( SDL_CONTROLLER_BUTTON_DPAD_RIGHT ),
+ [k_srbind_world_left] = controller_glyph( SDL_CONTROLLER_BUTTON_DPAD_LEFT ),
+ [k_srbind_world_right] = controller_glyph( SDL_CONTROLLER_BUTTON_DPAD_RIGHT ),
+ [k_srbind_home] = controller_glyph( SDL_CONTROLLER_BUTTON_Y ),
+ [k_srbind_mup] = controller_glyph( SDL_CONTROLLER_BUTTON_DPAD_UP ),
+ [k_srbind_mdown] = controller_glyph( SDL_CONTROLLER_BUTTON_DPAD_DOWN ),
+ [k_srbind_mback] = controller_glyph( SDL_CONTROLLER_BUTTON_B ),
+ [k_srbind_maccept]= controller_glyph( SDL_CONTROLLER_BUTTON_A ),
+ [k_srbind_mopen] = controller_glyph( SDL_CONTROLLER_BUTTON_GUIDE ),
+[k_srbind_replay_play]= controller_glyph( SDL_CONTROLLER_BUTTON_X ),
+[k_srbind_replay_freecam]=controller_glyph(SDL_CONTROLLER_BUTTON_Y ),
+[k_srbind_replay_resume]=controller_glyph( SDL_CONTROLLER_BUTTON_A )
+ };
+
+ const char *keyboard_table[ k_srbind_max ] = {
+ [k_srbind_jump] = "\xa1",
+ [k_srbind_push] = KEYBOARD_GLYPH( "W" ),
+ [k_srbind_trick0] = "\x99",
+ [k_srbind_trick1] = "\x9a",
+ [k_srbind_trick2] = "\x9b",
+ [k_srbind_use] = KEYBOARD_GLYPH( "E" ),
+ [k_srbind_reset] = KEYBOARD_GLYPH( "R" ),
+ [k_srbind_camera] = KEYBOARD_GLYPH( "C" ),
+ [k_srbind_mleft] = KEYBOARD_GLYPH( "\x93" ),
+ [k_srbind_mright] = KEYBOARD_GLYPH( "\x95" ),
+ [k_srbind_world_left] = KEYBOARD_GLYPH( "\x93" ),
+ [k_srbind_world_right] = KEYBOARD_GLYPH( "\x95" ),
+ [k_srbind_home] = KEYBOARD_GLYPH( "H" ),
+ [k_srbind_mup] = KEYBOARD_GLYPH( "\x94" ),
+ [k_srbind_mdown] = KEYBOARD_GLYPH( "\x96" ),
+ [k_srbind_mback] = "\xa3",
+ [k_srbind_maccept]= "\xa2",
+ [k_srbind_mopen] = "\xa3" ,
+[k_srbind_replay_play]= KEYBOARD_GLYPH( "G" ),
+[k_srbind_replay_freecam] = KEYBOARD_GLYPH( "F" ),
+[k_srbind_replay_resume]= "\xa1",
+ };
+
+ if( vg_input.display_input_method == k_input_method_controller )
+ return controller_table[ button ];
+ else
+ return keyboard_table[ button ];
+}
+
+static const char *axis_display_string( enum sr_axis axis )
+{
+ const char *controller_table[ k_sraxis_max ] = {
+ [k_sraxis_grab] = "\x90",
+ [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_grab] = "\x9e",
+ [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[ axis ];
+ else
+ return keyboard_table[ axis ];
+}
+
+static const char *joystick_display_string( enum sr_joystick joystick,
+ u32 axis )
+{
+ const char *controller_table[ k_srjoystick_max ][3] = {
+ [k_srjoystick_steer] = {"\x88","\x89","\x8a"},
+ [k_srjoystick_grab] = {"\x8c","\x8d","\x8e"},
+ [k_srjoystick_look] = {"\x8c","\x8d","\x8e"}
+ };
+
+ const char *keyboard_table[ k_srjoystick_max ][3] = {
+ [k_srjoystick_steer] = {KEYBOARD_GLYPH("A")KEYBOARD_GLYPH("D"), /*h*/
+ KEYBOARD_GLYPH("W")KEYBOARD_GLYPH("S"), /*v*/
+
+ KEYBOARD_GLYPH("A")KEYBOARD_GLYPH("D") /*hv*/
+ KEYBOARD_GLYPH("W")KEYBOARD_GLYPH("S"), },
+ [k_srjoystick_grab] = {"\xa4","\xa4","\xa4"},
+ [k_srjoystick_look] = {"\xa4","\xa4","\xa4"}
+ };
+
+ if( vg_input.display_input_method == k_input_method_controller )
+ return controller_table[ joystick ][axis];
+ else return keyboard_table[ joystick ][axis];
+}
+
+static int buttons_filter_fixed(void)
+{
+ if( !srinput.enabled ) return 1;
+ if( vg_ui.wants_mouse ) return 1;