mirror of https://github.com/mgba-emu/mgba.git
GUI: Fix non-touch support
This commit is contained in:
parent
db994ef8ab
commit
346503cd41
|
@ -238,7 +238,7 @@ static uint32_t _pollInput(void) {
|
|||
static enum GUICursorState _pollCursor(int* x, int* y) {
|
||||
hidScanInput();
|
||||
if (!(hidKeysHeld() & KEY_TOUCH)) {
|
||||
return GUI_CURSOR_UP;
|
||||
return GUI_CURSOR_NOT_PRESENT;
|
||||
}
|
||||
touchPosition pos;
|
||||
hidTouchRead(&pos);
|
||||
|
|
|
@ -68,7 +68,7 @@ static enum GUICursorState _pollCursor(int* x, int* y) {
|
|||
SceTouchData touch;
|
||||
sceTouchPeek(0, &touch, 1);
|
||||
if (touch.reportNum < 1) {
|
||||
return GUI_CURSOR_UP;
|
||||
return GUI_CURSOR_NOT_PRESENT;
|
||||
}
|
||||
*x = touch.report[0].x / 2;
|
||||
*y = touch.report[0].y / 2;
|
||||
|
|
|
@ -43,7 +43,7 @@ enum GUICursorState GUIPollCursor(struct GUIParams* params, int* x, int* y) {
|
|||
params->cursorState = GUI_CURSOR_DRAGGING;
|
||||
return GUI_CURSOR_DRAGGING;
|
||||
}
|
||||
if (state == GUI_CURSOR_UP) {
|
||||
if (state == GUI_CURSOR_UP || state == GUI_CURSOR_NOT_PRESENT) {
|
||||
params->cursorState = GUI_CURSOR_UP;
|
||||
return GUI_CURSOR_CLICKED;
|
||||
}
|
||||
|
|
|
@ -80,7 +80,7 @@ enum GUIMenuExitReason GUIShowMenu(struct GUIParams* params, struct GUIMenu* men
|
|||
return GUI_MENU_EXIT_ACCEPT;
|
||||
}
|
||||
}
|
||||
if ((cursorOverItem == 1 && cursor == GUI_CURSOR_UP)) {
|
||||
if (cursorOverItem == 1 && (cursor == GUI_CURSOR_UP || cursor == GUI_CURSOR_NOT_PRESENT)) {
|
||||
cursorOverItem = 2;
|
||||
}
|
||||
if (newInput & (1 << GUI_INPUT_BACK)) {
|
||||
|
|
Loading…
Reference in New Issue