aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/org/connectbot/TerminalView.java
diff options
context:
space:
mode:
authorJeremy Klein <jlklein@google.com>2015-07-23 16:25:18 -0700
committerJeremy Klein <jlklein@google.com>2015-07-24 10:13:25 -0700
commite492134e9b1e0cd63e396eda7ff08d46c276ff4c (patch)
tree1c17a8c634e9708a73aea05ec00713b4a5df899a /app/src/main/java/org/connectbot/TerminalView.java
parent99da64bd41bf918a0884a7051983ba6df61b3cb4 (diff)
downloadconnectbot-e492134e9b1e0cd63e396eda7ff08d46c276ff4c.tar.gz
connectbot-e492134e9b1e0cd63e396eda7ff08d46c276ff4c.tar.bz2
connectbot-e492134e9b1e0cd63e396eda7ff08d46c276ff4c.zip
Add mouse wheel scroll support.
Diffstat (limited to 'app/src/main/java/org/connectbot/TerminalView.java')
-rw-r--r--app/src/main/java/org/connectbot/TerminalView.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/app/src/main/java/org/connectbot/TerminalView.java b/app/src/main/java/org/connectbot/TerminalView.java
index 88fa90d..261407c 100644
--- a/app/src/main/java/org/connectbot/TerminalView.java
+++ b/app/src/main/java/org/connectbot/TerminalView.java
@@ -39,7 +39,10 @@ import android.graphics.PixelXorXfermode;
import android.graphics.RectF;
import android.net.Uri;
import android.os.AsyncTask;
+import android.support.v4.view.MotionEventCompat;
+import android.view.InputDevice;
import android.view.KeyEvent;
+import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.view.accessibility.AccessibilityEvent;
@@ -319,6 +322,23 @@ public class TerminalView extends View implements FontSizeChangedListener {
};
}
+ @Override
+ public boolean onGenericMotionEvent(MotionEvent event) {
+ if ((MotionEventCompat.getSource(event) & InputDevice.SOURCE_CLASS_POINTER) != 0) {
+ switch (event.getAction()) {
+ case MotionEvent.ACTION_SCROLL:
+ // Process scroll wheel movement:
+ float yDistance = MotionEventCompat.getAxisValue(event, MotionEvent.AXIS_VSCROLL);
+ if (yDistance != 0) {
+ int base = bridge.buffer.getWindowBase();
+ bridge.buffer.setWindowBase(base - Math.round(yDistance));
+ return true;
+ }
+ }
+ }
+ return super.onGenericMotionEvent(event);
+ }
+
public void propagateConsoleText(char[] rawText, int length) {
if (mAccessibilityActive) {
synchronized (mAccessibilityLock) {