Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Fixed mouse button mapping on iOS
- Loading branch information
Showing
with
15 additions
and
2 deletions.
-
+15
−2
src/video/uikit/SDL_uikitview.m
|
@@ -33,6 +33,9 @@ |
|
|
#import "SDL_uikitmodes.h" |
|
|
#import "SDL_uikitwindow.h" |
|
|
|
|
|
/* The maximum number of mouse buttons we support */ |
|
|
#define MAX_MOUSE_BUTTONS 5 |
|
|
|
|
|
/* This is defined in SDL_sysjoystick.m */ |
|
|
extern int SDL_AppleTVRemoteOpenedAsJoystick; |
|
|
|
|
@@ -223,8 +226,13 @@ - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event |
|
|
if (touch.type == UITouchTypeIndirectPointer) { |
|
|
int i; |
|
|
|
|
|
for (i = SDL_BUTTON_LEFT; i <= SDL_BUTTON_X2; ++i) { |
|
|
for (i = 1; i <= MAX_MOUSE_BUTTONS; ++i) { |
|
|
if (event.buttonMask & SDL_BUTTON(i)) { |
|
|
if (i == 2) { |
|
|
i = SDL_BUTTON_RIGHT; |
|
|
} else if (i == 3) { |
|
|
i = SDL_BUTTON_MIDDLE; |
|
|
} |
|
|
SDL_SendMouseButton(sdlwindow, 0, SDL_PRESSED, i); |
|
|
} |
|
|
} |
|
@@ -260,8 +268,13 @@ - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event |
|
|
if (touch.type == UITouchTypeIndirectPointer) { |
|
|
int i; |
|
|
|
|
|
for (i = SDL_BUTTON_LEFT; i <= SDL_BUTTON_X2; ++i) { |
|
|
for (i = 1; i <= MAX_MOUSE_BUTTONS; ++i) { |
|
|
if (!(event.buttonMask & SDL_BUTTON(i))) { |
|
|
if (i == 2) { |
|
|
i = SDL_BUTTON_RIGHT; |
|
|
} else if (i == 3) { |
|
|
i = SDL_BUTTON_MIDDLE; |
|
|
} |
|
|
SDL_SendMouseButton(sdlwindow, 0, SDL_RELEASED, i); |
|
|
} |
|
|
} |
|
|