Skip to content

Commit

Permalink
Vita: improve keymap, map mouse buttons also to R/L
Browse files Browse the repository at this point in the history
  • Loading branch information
rsn8887 committed Mar 27, 2018
1 parent 90808ec commit 988160a
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 47 deletions.
8 changes: 4 additions & 4 deletions src/client.cc
Expand Up @@ -490,10 +490,10 @@ void Client::on_keydown(SDL_Event &e) {

#ifdef __vita__
static const char *helptext_ingame[] = {
N_("Left mouse (square):"), N_("Activate/drop leftmost inventory item"),
N_("Right mouse (triangle):"), N_("Rotate inventory items"), N_("Escape (start/circle):"), N_("Show game menu"),
N_("Shift+Escape:"), N_("Quit game immediately"), N_("F1 (l-trigger):"), N_("Show this help"), N_("F3 (select):"),
N_("Kill current marble"), N_("Shift+F3 (r-trigger):"), N_("Restart the current level"), N_("F4:"),
N_("Left mouse (square/L):"), N_("Activate/drop leftmost inventory item"),
N_("Right mouse (triangle/R):"), N_("Rotate inventory items"), N_("Escape (circle):"), N_("Show game menu"),
N_("Shift+Escape:"), N_("Quit game immediately"), N_("F1 (start):"), N_("Show this help"), N_("F3 (select):"),
N_("Kill current marble"), N_("Shift+F3 (R+select):"), N_("Restart the current level"), N_("F4:"),
N_("Skip to next level"), N_("F5:"), 0, // see below
N_("F6:"), N_("Jump back to last level"), N_("F10:"), N_("Make screenshot"),
N_("Left/right arrow (dpad):"), N_("Change mouse speed"), N_("Alt+x:"), N_("Return to level menu"),
Expand Down
8 changes: 4 additions & 4 deletions src/gui/LevelMenu.cc
Expand Up @@ -191,8 +191,8 @@ namespace enigma { namespace gui {

#ifdef __vita__
static const char *helptext_levelmenu[] = {
N_("Escape (start/circle):"), N_("Skip to main menu"),
"F1 (l-trigger):", N_("Show this help"),
N_("Escape (circle):"), N_("Skip to main menu"),
"F1 (start):", N_("Show this help"),
"F5:", 0, // see below
"F7:", N_("Update levelpack"),
N_("Arrows (dpad):"), N_("Select level"),
Expand All @@ -201,8 +201,8 @@ namespace enigma { namespace gui {
"u", N_("Mark current level as unsolved"),
// "s", N_("Mark current level as Solved"),
N_("Alt+Return:"), N_("Switch between fullscreen and window"),
N_("Left click (square):"), N_("Play selected level"),
N_("Right click (triangle):"), N_("Inspect selected level"),
N_("Left click (square/L):"), N_("Play selected level"),
N_("Right click (triangle/R):"), N_("Inspect selected level"),
0
};
#else
Expand Down
4 changes: 2 additions & 2 deletions src/gui/LevelPackMenu.cc
Expand Up @@ -46,8 +46,8 @@ namespace enigma { namespace gui {
static const char *helptext[] = {
N_("Left column:"), N_("Levelpack groups"),
N_("Right columns:"), N_("Levelpacks of selected group"),
N_("Left click (square):"), N_("Select group or levelpack"),
N_("Right click (triangle):"), N_("Configure group or levelpack"),
N_("Left click (square/L):"), N_("Select group or levelpack"),
N_("Right click (triangle/R):"), N_("Configure group or levelpack"),
0
};
#else
Expand Down
75 changes: 38 additions & 37 deletions src/psp2/psp2_input.c
@@ -1,13 +1,13 @@
#include "psp2_input.h"
#include <math.h>

int lastAnalogX = 0;
int lastAnalogY = 0;
int lastmx = 0;
int lastmy = 0;
int hiresDX = 0;
int hiresDY = 0;
int insideMenu = 1;
int holding_R = 0;

extern SDL_Joystick *vitaJoy0;

int PSP2_PollEvent(SDL_Event *event) {
Expand All @@ -16,9 +16,6 @@ int PSP2_PollEvent(SDL_Event *event) {

if(event != NULL) {

int analogX = lastAnalogX;
int analogY = lastAnalogY;

switch (event->type) {

case SDL_MOUSEMOTION:
Expand All @@ -29,46 +26,48 @@ int PSP2_PollEvent(SDL_Event *event) {
if (event->jbutton.which==0) // Only Joystick 0 controls the game
{
switch (event->jbutton.button) {
case PAD_START:
case PAD_CIRCLE:
event->type = SDL_KEYDOWN;
event->key.keysym.sym = SDLK_ESCAPE;
event->key.keysym.mod = 0;
break;
case PAD_SELECT:
event->type = SDL_KEYDOWN;
event->key.keysym.sym = SDLK_F3;
event->key.keysym.mod = 0;
break;
case PAD_R:
event->type = SDL_KEYDOWN;
event->key.keysym.sym = SDLK_F3;
event->key.keysym.mod = KMOD_LSHIFT;
break;
case PAD_L:
event->type = SDL_KEYDOWN;
event->key.keysym.sym = SDLK_F1;
event->key.keysym.mod = 0;
break;
case PAD_CROSS:
event->type = SDL_KEYDOWN;
event->key.keysym.sym = SDLK_RETURN;
event->key.keysym.mod = 0;
break;
case PAD_L: // intentional fall-through
case PAD_SQUARE:
event->type = SDL_MOUSEBUTTONDOWN;
event->button.button = SDL_BUTTON_LEFT;
event->button.state = SDL_PRESSED;
event->button.x = lastmx;
event->button.y = lastmy;
break;
case PAD_R:
holding_R = 1; // intentional fall-through
case PAD_TRIANGLE:
event->type = SDL_MOUSEBUTTONDOWN;
event->button.button = SDL_BUTTON_RIGHT;
event->button.state = SDL_PRESSED;
event->button.x = lastmx;
event->button.y = lastmy;
break;
case PAD_START:
event->type = SDL_KEYDOWN;
event->key.keysym.sym = SDLK_F1;
event->key.keysym.mod = 0;
break;
case PAD_SELECT:
event->type = SDL_KEYDOWN;
event->key.keysym.sym = SDLK_F3;
if (holding_R) {
event->key.keysym.mod = KMOD_LSHIFT;
}
else {
event->key.keysym.mod = 0;
}
break;
case PAD_LEFT:
event->type = SDL_KEYDOWN;
event->key.keysym.sym = SDLK_LEFT;
Expand Down Expand Up @@ -99,46 +98,48 @@ int PSP2_PollEvent(SDL_Event *event) {
if (event->jbutton.which==0) // Only Joystick 0 controls the game
{
switch (event->jbutton.button) {
case PAD_START:
case PAD_CIRCLE:
event->type = SDL_KEYUP;
event->key.keysym.sym = SDLK_ESCAPE;
event->key.keysym.mod = 0;
break;
case PAD_SELECT:
event->type = SDL_KEYUP;
event->key.keysym.sym = SDLK_F3;
event->key.keysym.mod = 0;
break;
case PAD_R:
event->type = SDL_KEYUP;
event->key.keysym.sym = SDLK_F3;
event->key.keysym.mod = KMOD_LSHIFT;
break;
case PAD_L:
event->type = SDL_KEYUP;
event->key.keysym.sym = SDLK_F1;
event->key.keysym.mod = 0;
break;
case PAD_CROSS:
event->type = SDL_KEYUP;
event->key.keysym.sym = SDLK_RETURN;
event->key.keysym.mod = 0;
break;
case PAD_L: // intentional fall-through
case PAD_SQUARE:
event->type = SDL_MOUSEBUTTONUP;
event->button.button = SDL_BUTTON_LEFT;
event->button.state = SDL_RELEASED;
event->button.x = lastmx;
event->button.y = lastmy;
break;
case PAD_R:
holding_R = 0; // intentional fall-through
case PAD_TRIANGLE:
event->type = SDL_MOUSEBUTTONUP;
event->button.button = SDL_BUTTON_RIGHT;
event->button.state = SDL_RELEASED;
event->button.x = lastmx;
event->button.y = lastmy;
break;
case PAD_START:
event->type = SDL_KEYUP;
event->key.keysym.sym = SDLK_F1;
event->key.keysym.mod = 0;
break;
case PAD_SELECT:
event->type = SDL_KEYUP;
event->key.keysym.sym = SDLK_F3;
if (holding_R) {
event->key.keysym.mod = KMOD_LSHIFT;
}
else {
event->key.keysym.mod = 0;
}
break;
case PAD_LEFT:
event->type = SDL_KEYUP;
event->key.keysym.sym = SDLK_LEFT;
Expand Down

0 comments on commit 988160a

Please sign in to comment.