- // map the last 2 buttons to menu and pause
- if(min_joybuttons > 2)
- joy_button_map.insert(std::make_pair(min_joybuttons-1, PAUSE_MENU));
- // map all remaining joystick buttons to MENU_SELECT
- for(int i = 2; i < max_joybuttons; ++i) {
- if(i != min_joybuttons-1)
- joy_button_map.insert(std::make_pair(i, MENU_SELECT));
+ // 6 or more Buttons
+ if( min_joybuttons > 5 ){
+ joy_button_map.insert(std::make_pair( 4, PEEK_LEFT));
+ joy_button_map.insert(std::make_pair( 5, PEEK_RIGHT));
+ // 8 or more
+ if(min_joybuttons > 7)
+ joy_button_map.insert(std::make_pair(min_joybuttons-1, PAUSE_MENU));
+ // map all remaining joystick buttons to MENU_SELECT
+ for(int i = 2; i < max_joybuttons; ++i) {
+ if( i != min_joybuttons-1 && i !=4 && i!= 5 )
+ joy_button_map.insert(std::make_pair(i, MENU_SELECT));
+ }
+
+ } else {
+ // map the last 2 buttons to menu and pause
+ if(min_joybuttons > 2)
+ joy_button_map.insert(std::make_pair(min_joybuttons-1, PAUSE_MENU));
+ // map all remaining joystick buttons to MENU_SELECT
+ for(int i = 2; i < max_joybuttons; ++i) {
+ if(i != min_joybuttons-1)
+ joy_button_map.insert(std::make_pair(i, MENU_SELECT));
+ }