Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(659)

Unified Diff: ui/base/x/events_x.cc

Issue 8416056: Added support for chromeos usb mice (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/base/x/events_x.cc
diff --git a/ui/base/x/events_x.cc b/ui/base/x/events_x.cc
index 09e8f85ea3cf18235fcc6f44299766c53fe4ad12..39404a5d66a9ef97db1fcfa62ab4a2d47984fa8a 100644
--- a/ui/base/x/events_x.cc
+++ b/ui/base/x/events_x.cc
@@ -148,11 +148,21 @@ EventType EventTypeFromNative(const base::NativeEvent& native_event) {
if (native_event->xbutton.button == 4 ||
native_event->xbutton.button == 5)
return ET_MOUSEWHEEL;
+#if defined (OS_CHROMEOS)
+ if (native_event->xbutton.button == 8 ||
+ native_event->xbutton.button == 9)
+ return ET_MOUSEWHEEL;
+#endif
return ET_MOUSE_PRESSED;
case ButtonRelease:
if (native_event->xbutton.button == 4 ||
native_event->xbutton.button == 5)
return ET_MOUSEWHEEL;
+#if defined (OS_CHROMEOS)
+ if (native_event->xbutton.button == 8 ||
+ native_event->xbutton.button == 9)
+ return ET_MOUSEWHEEL;
+#endif
return ET_MOUSE_RELEASED;
case MotionNotify:
if (native_event->xmotion.state &
@@ -170,9 +180,17 @@ EventType EventTypeFromNative(const base::NativeEvent& native_event) {
return GetTouchEventType(native_event);
switch (xievent->evtype) {
case XI_ButtonPress:
+#if defined (OS_CHROMEOS)
+ if (xievent->detail == 8 || xievent->detail == 9)
+ return ET_MOUSEWHEEL;
+#endif
return (xievent->detail == 4 || xievent->detail == 5) ?
ET_MOUSEWHEEL : ET_MOUSE_PRESSED;
case XI_ButtonRelease:
+#if defined (OS_CHROMEOS)
+ if (xievent->detail == 8 || xievent->detail == 9)
+ return ET_MOUSEWHEEL;
+#endif
return (xievent->detail == 4 || xievent->detail == 5) ?
ET_MOUSEWHEEL : ET_MOUSE_RELEASED;
case XI_Motion:
@@ -254,13 +272,21 @@ bool IsMouseEvent(const base::NativeEvent& native_event) {
}
int GetMouseWheelOffset(const base::NativeEvent& native_event) {
+ int button;
if (native_event->type == GenericEvent) {
XIDeviceEvent* xiev =
static_cast<XIDeviceEvent*>(native_event->xcookie.data);
- return xiev->detail == 4 ? kWheelScrollAmount : -kWheelScrollAmount;
+ button = xiev->detail;
+ } else {
+ button = native_event->xbutton.button;
}
- return native_event->xbutton.button == 4 ?
- kWheelScrollAmount : -kWheelScrollAmount;
+#if defined(OS_CHROMEOS)
+ if (button == 8)
+ return kWheelScrollAmount;
+ else if (button == 9)
+ return -kWheelScrollAmount;
+#endif
+ return button == 4 ? kWheelScrollAmount : -kWheelScrollAmount;
}
int GetTouchId(const base::NativeEvent& xev) {
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698