Android: Add analog button to touchscreen controller

This commit is contained in:
Connor McLaughlin
2021-02-27 22:15:34 +10:00
parent 6e9a35806d
commit 2ce42cde5f
8 changed files with 88 additions and 2 deletions

View File

@ -86,6 +86,8 @@ public class AndroidHostInterface {
public native void handleControllerAxisEvent(int controllerIndex, int axisIndex, float value);
public native void toggleControllerAnalogMode();
public native String[] getInputProfileNames();
public native boolean loadInputProfile(String name);

View File

@ -15,7 +15,8 @@ public final class TouchscreenControllerButtonView extends View {
public enum Hotkey
{
NONE,
FAST_FORWARD
FAST_FORWARD,
ANALOG_TOGGLE
}
private Drawable mUnpressedDrawable;
@ -131,6 +132,12 @@ public final class TouchscreenControllerButtonView extends View {
AndroidHostInterface.getInstance().setFastForwardEnabled(mPressed);
break;
case ANALOG_TOGGLE: {
if (mPressed)
AndroidHostInterface.getInstance().toggleControllerAnalogMode();
}
break;
case NONE:
default:
break;

View File

@ -250,7 +250,9 @@ public class TouchscreenControllerView extends FrameLayout {
linkAxis(mMainView, R.id.controller_axis_right, "RightAxis", "Right", true);
linkHotkeyButton(mMainView, R.id.controller_button_fast_forward, "FastForward",
TouchscreenControllerButtonView.Hotkey.FAST_FORWARD, true);
TouchscreenControllerButtonView.Hotkey.FAST_FORWARD, false);
linkHotkeyButton(mMainView, R.id.controller_button_analog, "AnalogToggle",
TouchscreenControllerButtonView.Hotkey.ANALOG_TOGGLE, false);
reloadButtonSettings();
updateOpacity();