You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
2.0 KiB
64 lines
2.0 KiB
diff -Naur a/src/gui/sdl_mapper.cpp b/src/gui/sdl_mapper.cpp
|
|
--- a/src/gui/sdl_mapper.cpp 2015-01-10 14:16:22.000000000 +0100
|
|
+++ b/src/gui/sdl_mapper.cpp 2016-10-31 21:36:44.509231014 +0100
|
|
@@ -32,6 +32,7 @@
|
|
#include "dosbox.h"
|
|
#include "video.h"
|
|
#include "keyboard.h"
|
|
+#include "mouse.h"
|
|
#include "joystick.h"
|
|
#include "support.h"
|
|
#include "mapper.h"
|
|
@@ -1497,6 +1498,20 @@
|
|
KBD_KEYS key;
|
|
};
|
|
|
|
+class CMouseButtonEvent : public CTriggeredEvent {
|
|
+public:
|
|
+ CMouseButtonEvent(char const * const _entry,Bit8u _button) : CTriggeredEvent(_entry) {
|
|
+ button=_button;
|
|
+ }
|
|
+ void Active(bool yesno) {
|
|
+ if (yesno)
|
|
+ Mouse_ButtonPressed(button);
|
|
+ else
|
|
+ Mouse_ButtonReleased(button);
|
|
+ }
|
|
+ Bit8u button;
|
|
+};
|
|
+
|
|
class CJAxisEvent : public CContinuousEvent {
|
|
public:
|
|
CJAxisEvent(char const * const _entry,Bitu _stick,Bitu _axis,bool _positive,CJAxisEvent * _opposite_axis) : CContinuousEvent(_entry) {
|
|
@@ -1708,6 +1723,15 @@
|
|
return event;
|
|
}
|
|
|
|
+static CMouseButtonEvent * AddMouseButtonEvent(Bitu x,Bitu y,Bitu dx,Bitu dy,char const * const title,char const * const entry,Bit8u button) {
|
|
+ char buf[64];
|
|
+ strcpy(buf,"mouse_");
|
|
+ strcat(buf,entry);
|
|
+ CMouseButtonEvent * event=new CMouseButtonEvent(buf,button);
|
|
+ new CEventButton(x,y,dx,dy,title,event);
|
|
+ return event;
|
|
+}
|
|
+
|
|
static CJAxisEvent * AddJAxisButton(Bitu x,Bitu y,Bitu dx,Bitu dy,char const * const title,Bitu stick,Bitu axis,bool positive,CJAxisEvent * opposite_axis) {
|
|
char buf[64];
|
|
sprintf(buf,"jaxis_%d_%d%s",stick,axis,positive ? "+" : "-");
|
|
@@ -1866,6 +1890,15 @@
|
|
AddKeyButtonEvent(PX(XO+2),PY(YO+4),BW,BH,".","kp_period",KBD_kpperiod);
|
|
#undef XO
|
|
#undef YO
|
|
+#define XO 5
|
|
+#define YO 8
|
|
+ /* Mouse Buttons */
|
|
+ new CTextButton(PX(XO+0),PY(YO-1),3*BW,20,"Mouse");
|
|
+ AddMouseButtonEvent(PX(XO+0),PY(YO),BW,BH,"L","left",0);
|
|
+ AddMouseButtonEvent(PX(XO+1),PY(YO),BW,BH,"M","middle",2);
|
|
+ AddMouseButtonEvent(PX(XO+2),PY(YO),BW,BH,"R","right",1);
|
|
+#undef XO
|
|
+#undef YO
|
|
#define XO 10
|
|
#define YO 8
|
|
/* Joystick Buttons/Texts */
|