aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/org/connectbot/ConsoleActivity.java
diff options
context:
space:
mode:
authorJeremy Klein <jlklein@google.com>2015-09-29 16:48:05 -0700
committerJeremy Klein <jlklein@google.com>2015-10-01 14:56:39 -0700
commita11834b6021b2d943efeee73b1af38179dcea5a4 (patch)
treeeb5c5849907bc29876a15b5e8f516638c9f2a907 /app/src/main/java/org/connectbot/ConsoleActivity.java
parentaa2f25d977eb60c40bb05978a1e9826cd45b5552 (diff)
downloadconnectbot-a11834b6021b2d943efeee73b1af38179dcea5a4.tar.gz
connectbot-a11834b6021b2d943efeee73b1af38179dcea5a4.tar.bz2
connectbot-a11834b6021b2d943efeee73b1af38179dcea5a4.zip
Add support for mouse move event forwarding.
Diffstat (limited to 'app/src/main/java/org/connectbot/ConsoleActivity.java')
-rw-r--r--app/src/main/java/org/connectbot/ConsoleActivity.java40
1 files changed, 27 insertions, 13 deletions
diff --git a/app/src/main/java/org/connectbot/ConsoleActivity.java b/app/src/main/java/org/connectbot/ConsoleActivity.java
index 0ee6a5a..66617f2 100644
--- a/app/src/main/java/org/connectbot/ConsoleActivity.java
+++ b/app/src/main/java/org/connectbot/ConsoleActivity.java
@@ -756,25 +756,39 @@ public class ConsoleActivity extends AppCompatActivity implements BridgeDisconne
boolean mouseReport = ((vt320) bridge.buffer).isMouseReportEnabled();
// MouseReport can be "defeated" using the shift key.
- if ((!mouseReport || shiftOn) && event.getAction() == MotionEvent.ACTION_DOWN) {
- switch (event.getButtonState()) {
- case MotionEvent.BUTTON_PRIMARY:
- // Automatically start copy mode if using a mouse.
- startCopyMode();
- break;
- case MotionEvent.BUTTON_SECONDARY:
- openContextMenu(pager);
- return true;
- case MotionEvent.BUTTON_TERTIARY:
- // Middle click pastes.
- pasteIntoTerminal();
- return true;
+ if ((!mouseReport || shiftOn)) {
+ if (event.getAction() == MotionEvent.ACTION_DOWN) {
+ switch (event.getButtonState()) {
+ case MotionEvent.BUTTON_PRIMARY:
+ // Automatically start copy mode if using a mouse.
+ startCopyMode();
+ break;
+ case MotionEvent.BUTTON_SECONDARY:
+ openContextMenu(pager);
+ return true;
+ case MotionEvent.BUTTON_TERTIARY:
+ // Middle click pastes.
+ pasteIntoTerminal();
+ return true;
+ }
}
} else if (event.getAction() == MotionEvent.ACTION_DOWN) {
((vt320) bridge.buffer).mousePressed(
col, row, mouseEventToJavaModifiers(event));
} else if (event.getAction() == MotionEvent.ACTION_UP) {
((vt320) bridge.buffer).mouseReleased(col, row);
+ } else if (event.getAction() == MotionEvent.ACTION_MOVE) {
+ int buttonState = event.getButtonState();
+ int button = (buttonState & MotionEvent.BUTTON_PRIMARY) != 0 ? 0 :
+ (buttonState & MotionEvent.BUTTON_SECONDARY) != 0 ? 1 :
+ (buttonState & MotionEvent.BUTTON_TERTIARY) != 0 ? 2 : 3;
+ ((vt320) bridge.buffer).mouseMoved(
+ button,
+ col,
+ row,
+ (event.getMetaState() & KeyEvent.META_CTRL_ON) != 0,
+ (event.getMetaState() & KeyEvent.META_SHIFT_ON) != 0,
+ (event.getMetaState() & KeyEvent.META_META_ON) != 0);
}
}