From 84faf8227447a1afa2e2aad2815582dc272c0fec Mon Sep 17 00:00:00 2001 From: Matthias Goebl Date: Sat, 30 Dec 2017 02:32:20 +0100 Subject: [PATCH] Added key pad cursor control (for using it on e.g. Fire TV) --- .../game/activities/GameActivity.java | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/src/org/blockinger/game/activities/GameActivity.java b/src/org/blockinger/game/activities/GameActivity.java index 61142fb..fe00445 100644 --- a/src/org/blockinger/game/activities/GameActivity.java +++ b/src/org/blockinger/game/activities/GameActivity.java @@ -57,6 +57,7 @@ import android.widget.ImageButton; import android.widget.Button; import android.view.View.OnTouchListener; +import android.view.KeyEvent; public class GameActivity extends FragmentActivity { @@ -221,6 +222,60 @@ public boolean onTouch(View v, MotionEvent event) { ((BlockBoardView)findViewById(R.id.boardView)).init(); ((BlockBoardView)findViewById(R.id.boardView)).setHost(this); } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + switch (keyCode) { + case KeyEvent.KEYCODE_DPAD_DOWN: + { + controls.downButtonPressed(); + return true; + } + case KeyEvent.KEYCODE_DPAD_LEFT: + { + controls.leftButtonPressed(); + return true; + } + case KeyEvent.KEYCODE_DPAD_RIGHT: + { + controls.rightButtonPressed(); + return true; + } + case KeyEvent.KEYCODE_DPAD_UP: + { + controls.rotateRightPressed(); + return true; + } + } + return super.onKeyDown(keyCode, event); + } + + @Override + public boolean onKeyUp(int keyCode, KeyEvent event) { + switch (keyCode) { + case KeyEvent.KEYCODE_DPAD_DOWN: + { + controls.downButtonReleased(); + return true; + } + case KeyEvent.KEYCODE_DPAD_LEFT: + { + controls.leftButtonReleased(); + return true; + } + case KeyEvent.KEYCODE_DPAD_RIGHT: + { + controls.rightButtonReleased(); + return true; + } + case KeyEvent.KEYCODE_DPAD_UP: + { + controls.rotateRightReleased(); + return true; + } + } + return super.onKeyDown(keyCode, event); + } /** * Called by BlockBoardView upon completed creation