summaryrefslogtreecommitdiffstats
path: root/views/focus/accelerator_handler_touch.cc
diff options
context:
space:
mode:
authorsadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-22 18:42:38 +0000
committersadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-22 18:42:38 +0000
commit6b031fded2df8357b804f08fe84503b5b1adbb8d (patch)
treed7a8ececabab8a0643d18354a96f90d9bf146eba /views/focus/accelerator_handler_touch.cc
parentbc04b24f04d8afd339c24d9f214481377de2aa56 (diff)
downloadchromium_src-6b031fded2df8357b804f08fe84503b5b1adbb8d.zip
chromium_src-6b031fded2df8357b804f08fe84503b5b1adbb8d.tar.gz
chromium_src-6b031fded2df8357b804f08fe84503b5b1adbb8d.tar.bz2
Fix mouse-wheel scrolling and shifted/capslocked keyevents for touchui.
BUG=None TEST=Mouse wheel should work in a webpage, and shift+a should show up as 'A' in a textfield. Caps-lock should also work. Review URL: http://codereview.chromium.org/4341001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66977 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/focus/accelerator_handler_touch.cc')
-rw-r--r--views/focus/accelerator_handler_touch.cc18
1 files changed, 12 insertions, 6 deletions
diff --git a/views/focus/accelerator_handler_touch.cc b/views/focus/accelerator_handler_touch.cc
index a07b977..aa971d5 100644
--- a/views/focus/accelerator_handler_touch.cc
+++ b/views/focus/accelerator_handler_touch.cc
@@ -132,13 +132,19 @@ bool DispatchXEvent(XEvent* xev) {
case ButtonPress:
case ButtonRelease: {
- MouseEvent mouseev(xev);
- if (xev->type == ButtonPress) {
- return root->OnMousePressed(mouseev);
+ if (xev->xbutton.button == 4 || xev->xbutton.button == 5) {
+ // Scrolling the wheel triggers button press/release events.
+ MouseWheelEvent wheelev(xev);
+ return root->ProcessMouseWheelEvent(wheelev);
} else {
- root->OnMouseReleased(mouseev, false);
- return true; // Assume the event has been processed to make sure we
- // don't process it twice.
+ MouseEvent mouseev(xev);
+ if (xev->type == ButtonPress) {
+ return root->OnMousePressed(mouseev);
+ } else {
+ root->OnMouseReleased(mouseev, false);
+ return true; // Assume the event has been processed to make sure we
+ // don't process it twice.
+ }
}
}