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

Unified Diff: ui/chromeos/touch_exploration_controller.h

Issue 333623003: Added split tap to TouchExplorationController (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@VLOG
Patch Set: Changes from James Created 6 years, 6 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 | ui/chromeos/touch_exploration_controller.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/chromeos/touch_exploration_controller.h
diff --git a/ui/chromeos/touch_exploration_controller.h b/ui/chromeos/touch_exploration_controller.h
index ab07f2c26c707a346bebbb373405adb86dc49db8..aad8d4c5654611fca9cc1e2a6ae0d563282f4bf0 100644
--- a/ui/chromeos/touch_exploration_controller.h
+++ b/ui/chromeos/touch_exploration_controller.h
@@ -60,6 +60,10 @@ class TouchEvent;
// anywhere on the screen, hear its description, then double-tap anywhere
// to activate it.
//
+// If the user enters touch exploration mode, they can click without lifting
+// their touch exploration finger by tapping anywhere else on the screen with
+// a second finger, while the touch exploration finger is still pressed.
+//
// If the user adds a second finger during the grace period, they enter
// passthrough mode. In this mode, the first finger is ignored but all
// additional touch events are mostly passed through unmodified. So a
@@ -105,7 +109,8 @@ class UI_CHROMEOS_EXPORT TouchExplorationController :
const ui::TouchEvent& event, scoped_ptr<ui::Event>* rewritten_event);
ui::EventRewriteStatus InPassthroughMinusOne(
const ui::TouchEvent& event, scoped_ptr<ui::Event>* rewritten_event);
-
+ ui::EventRewriteStatus InTouchExploreSecondPress(
+ const ui::TouchEvent& event, scoped_ptr<ui::Event>* rewritten_event);
// This timer is started every time we get the first press event, and
// it fires after the double-click timeout elapses (300 ms by default).
// If the user taps and releases within 300 ms and doesn't press again,
@@ -159,6 +164,13 @@ class UI_CHROMEOS_EXPORT TouchExplorationController :
// the user starts a scroll with 2 fingers, they can release either one
// and continue the scrolling.
PASSTHROUGH_MINUS_ONE,
+
+ // The user was in touch exploration, but has placed down another finger.
+ // If the user releases the second finger, a touch press and release
+ // will go through at the last touch explore location. If the user
+ // releases the touch explore finger, the other finger will continue with
+ // touch explore. Any fingers pressed past the first two are ignored.
+ TOUCH_EXPLORE_SECOND_PRESS,
};
void VlogState(const char* function_name);
@@ -190,9 +202,9 @@ class UI_CHROMEOS_EXPORT TouchExplorationController :
// A copy of the event from the initial touch press.
scoped_ptr<ui::TouchEvent> initial_press_;
- // The last location where we synthesized a mouse move event.
- // When the user double-taps, we send the passed-through tap here.
- gfx::PointF last_touch_exploration_location_;
+ // The last synthesized mouse move event. When the user double-taps,
+ // we send the passed-through tap to the location of this event.
+ scoped_ptr<ui::TouchEvent> last_touch_exploration_;
// A timer to fire the mouse move event after the double-tap delay.
base::OneShotTimer<TouchExplorationController> tap_timer_;
« no previous file with comments | « no previous file | ui/chromeos/touch_exploration_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698