Merge pull request #1541 from reicast/fh/dpad-fix
Avoid opposite dpad buttons being both down. Ignore android key repeats
This commit is contained in:
commit
7e11e7aff6
|
@ -51,7 +51,39 @@ bool GamepadDevice::gamepad_btn_input(u32 code, bool pressed)
|
||||||
if (key < 0x10000)
|
if (key < 0x10000)
|
||||||
{
|
{
|
||||||
if (pressed)
|
if (pressed)
|
||||||
|
{
|
||||||
kcode[_maple_port] &= ~(u16)key;
|
kcode[_maple_port] &= ~(u16)key;
|
||||||
|
// Avoid two opposite dpad keys being pressed simultaneously
|
||||||
|
switch (key)
|
||||||
|
{
|
||||||
|
case DC_DPAD_UP:
|
||||||
|
kcode[_maple_port] |= (u16)DC_DPAD_DOWN;
|
||||||
|
break;
|
||||||
|
case DC_DPAD_DOWN:
|
||||||
|
kcode[_maple_port] |= (u16)DC_DPAD_UP;
|
||||||
|
break;
|
||||||
|
case DC_DPAD_LEFT:
|
||||||
|
kcode[_maple_port] |= (u16)DC_DPAD_RIGHT;
|
||||||
|
break;
|
||||||
|
case DC_DPAD_RIGHT:
|
||||||
|
kcode[_maple_port] |= (u16)DC_DPAD_LEFT;
|
||||||
|
break;
|
||||||
|
case DC_DPAD2_UP:
|
||||||
|
kcode[_maple_port] |= (u16)DC_DPAD2_DOWN;
|
||||||
|
break;
|
||||||
|
case DC_DPAD2_DOWN:
|
||||||
|
kcode[_maple_port] |= (u16)DC_DPAD2_UP;
|
||||||
|
break;
|
||||||
|
case DC_DPAD2_LEFT:
|
||||||
|
kcode[_maple_port] |= (u16)DC_DPAD2_RIGHT;
|
||||||
|
break;
|
||||||
|
case DC_DPAD2_RIGHT:
|
||||||
|
kcode[_maple_port] |= (u16)DC_DPAD2_LEFT;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
kcode[_maple_port] |= (u16)key;
|
kcode[_maple_port] |= (u16)key;
|
||||||
}
|
}
|
||||||
|
|
|
@ -228,6 +228,7 @@ public abstract class BaseGLActivity extends Activity implements ActivityCompat.
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
||||||
|
if (event.getRepeatCount() == 0) {
|
||||||
if (keyCode == KeyEvent.KEYCODE_BACK) {
|
if (keyCode == KeyEvent.KEYCODE_BACK) {
|
||||||
if (!JNIdc.guiIsOpen()) {
|
if (!JNIdc.guiIsOpen()) {
|
||||||
showMenu();
|
showMenu();
|
||||||
|
@ -246,6 +247,7 @@ public abstract class BaseGLActivity extends Activity implements ActivityCompat.
|
||||||
return showMenu();
|
return showMenu();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return super.onKeyDown(keyCode, event);
|
return super.onKeyDown(keyCode, event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue