First post, by nanomouse
nanomouse
Offline
Rank
Newbie
- Rank
- Newbie
The patch is based on DosBox: Mouse_Swap[http://ubuntuforums.org/showthread.php?t=907966]
(Moderator: This message should be moved to patches, thanks.)
--- 20130430.1710/src/gui/sdlmain.cpp 2013-03-25 18:10:03 -0400
+++ 20130430.1710-buttonswap/src/gui/sdlmain.cpp 2013-04-30 18:55:02 -0400
@@ -206,6 +206,7 @@
bool autoenable;
bool requestlock;
bool locked;
+ bool buttonswap;
Bitu sensitivity;
} mouse;
SDL_Rect updateRects[1024];
@@ -1200,6 +1201,7 @@
#endif
}
sdl.mouse.autoenable=section->Get_bool("autolock");
+ sdl.mouse.buttonswap=section->Get_bool("buttonswap");
if (!sdl.mouse.autoenable) SDL_ShowCursor(SDL_DISABLE);
sdl.mouse.autolock=false;
sdl.mouse.sensitivity=section->Get_int("sensitivity");
@@ -1392,10 +1394,16 @@
}
switch (button->button) {
case SDL_BUTTON_LEFT:
- Mouse_ButtonPressed(0);
+ if(sdl.mouse.buttonswap)
+ Mouse_ButtonPressed(1);
+ else
+ Mouse_ButtonPressed(0);
break;
case SDL_BUTTON_RIGHT:
- Mouse_ButtonPressed(1);
+ if(sdl.mouse.buttonswap)
+ Mouse_ButtonPressed(0);
+ else
+ Mouse_ButtonPressed(1);
break;
case SDL_BUTTON_MIDDLE:
Mouse_ButtonPressed(2);
@@ -1647,6 +1655,9 @@
Pbool = sdl_sec->Add_bool("usescancodes",Property::Changeable::Always,true);
Pbool->Set_help("Avoid usage of symkeys, might not work on all operating systems.");
+
+ Pbool = sdl_sec->Add_bool("buttonswap",Property::Changeable::Always,false);
+ Pbool->Set_help("Swaps left and right buttons on the mouse.");
}
static void show_warning(char const * const message) {
[/code][/url]