From 3f42c61ead715884ac6b1f85c0b6054ff437646d Mon Sep 17 00:00:00 2001 From: Javier Date: Thu, 1 Nov 2018 13:01:39 +0100 Subject: Initial import --- .../vndroid/keymaps/AndroidKeyHandler.java | 69 ++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 app/src/main/java/com/javispedro/vndroid/keymaps/AndroidKeyHandler.java (limited to 'app/src/main/java/com/javispedro/vndroid/keymaps/AndroidKeyHandler.java') diff --git a/app/src/main/java/com/javispedro/vndroid/keymaps/AndroidKeyHandler.java b/app/src/main/java/com/javispedro/vndroid/keymaps/AndroidKeyHandler.java new file mode 100644 index 0000000..b0ac08e --- /dev/null +++ b/app/src/main/java/com/javispedro/vndroid/keymaps/AndroidKeyHandler.java @@ -0,0 +1,69 @@ +package com.javispedro.vndroid.keymaps; + +import android.accessibilityservice.AccessibilityService; + +public class AndroidKeyHandler extends KeyHandler { + private boolean shiftPressed = false; + + @Override + public boolean keyDown(int key) { + switch (key) { + case KeySyms.Key_Shift_L: + case KeySyms.Key_Shift_R: + shiftPressed = true; + return false; + case KeySyms.Key_Escape: + action.postGlobalAction(AccessibilityService.GLOBAL_ACTION_BACK); + return true; + case KeySyms.Key_F1: + action.postGlobalAction(AccessibilityService.GLOBAL_ACTION_HOME); + return true; + case KeySyms.Key_BackSpace: + action.postLocalAction(KeyActionHandler.ACTION_BACKSPACE); + return true; + case KeySyms.Key_Delete: + action.postLocalAction(KeyActionHandler.ACTION_DEL); + return true; + case KeySyms.Key_Left: + if (shiftPressed) { + action.postLocalAction(KeyActionHandler.ACTION_SELECT_LEFT); + } else { + action.postLocalAction(KeyActionHandler.ACTION_MOVE_LEFT); + } + return true; + case KeySyms.Key_Right: + if (shiftPressed) { + action.postLocalAction(KeyActionHandler.ACTION_SELECT_RIGHT); + } else { + action.postLocalAction(KeyActionHandler.ACTION_MOVE_RIGHT); + } + return true; + case KeySyms.Key_Home: + if (shiftPressed) { + action.postLocalAction(KeyActionHandler.ACTION_SELECT_LEFTMOST); + } else { + action.postLocalAction(KeyActionHandler.ACTION_MOVE_LEFTMOST); + } + return true; + case KeySyms.Key_End: + if (shiftPressed) { + action.postLocalAction(KeyActionHandler.ACTION_SELECT_RIGHTMOST); + } else { + action.postLocalAction(KeyActionHandler.ACTION_MOVE_RIGHTMOST); + } + return true; + } + return false; + } + + @Override + public boolean keyUp(int key) { + switch (key) { + case KeySyms.Key_Shift_L: + case KeySyms.Key_Shift_R: + shiftPressed = false; + return false; + } + return false; + } +} -- cgit v1.2.3