diff options
author | Javier <dev.git@javispedro.com> | 2018-11-01 13:01:39 +0100 |
---|---|---|
committer | Javier <dev.git@javispedro.com> | 2018-11-03 23:30:02 +0100 |
commit | 3f42c61ead715884ac6b1f85c0b6054ff437646d (patch) | |
tree | 88c9138b8a12d1f2bc60a85ad953a74b4c5c7ed0 /app/src/main/java/com/javispedro/vndroid/keymaps/AndroidKeyHandler.java | |
download | vndroid-3f42c61ead715884ac6b1f85c0b6054ff437646d.tar.gz vndroid-3f42c61ead715884ac6b1f85c0b6054ff437646d.zip |
Initial import
Diffstat (limited to 'app/src/main/java/com/javispedro/vndroid/keymaps/AndroidKeyHandler.java')
-rw-r--r-- | app/src/main/java/com/javispedro/vndroid/keymaps/AndroidKeyHandler.java | 69 |
1 files changed, 69 insertions, 0 deletions
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; + } +} |