diff options
author | Jeremy Klein <jlklein@google.com> | 2015-07-23 16:25:18 -0700 |
---|---|---|
committer | Jeremy Klein <jlklein@google.com> | 2015-07-24 10:13:25 -0700 |
commit | e492134e9b1e0cd63e396eda7ff08d46c276ff4c (patch) | |
tree | 1c17a8c634e9708a73aea05ec00713b4a5df899a /app/src/main/java/org/connectbot/TerminalView.java | |
parent | 99da64bd41bf918a0884a7051983ba6df61b3cb4 (diff) | |
download | connectbot-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.java | 20 |
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) { |