Index: ui/events/x/touch_factory_x11.h |
diff --git a/ui/events/x/touch_factory_x11.h b/ui/events/x/touch_factory_x11.h |
index ed62c6d247f59ec6cefcd76b775c1e8623ad686d..4d8a989fd8f87fe20a68a3c89e6a990ad5c6abaf 100644 |
--- a/ui/events/x/touch_factory_x11.h |
+++ b/ui/events/x/touch_factory_x11.h |
@@ -7,6 +7,8 @@ |
#include <bitset> |
#include <map> |
+#include <set> |
+#include <utility> |
#include <vector> |
#include "base/timer/timer.h" |
@@ -72,6 +74,11 @@ class EVENTS_BASE_EXPORT TouchFactory { |
// Whether any touch device is currently present and enabled. |
bool IsTouchDevicePresent(); |
+ // Pairs of <vendor id, product id> of external touch screens. |
+ const std::set<std::pair<int, int> >& GetTouchscreenIds() const { |
+ return touchscreen_ids_; |
+ } |
+ |
// Return maximum simultaneous touch points supported by device. |
int GetMaxTouchPoints() const; |
@@ -89,6 +96,8 @@ class EVENTS_BASE_EXPORT TouchFactory { |
// Requirement for Singleton |
friend struct DefaultSingletonTraits<TouchFactory>; |
+ void CacheTouchscreenIds(Display* display, int id); |
+ |
// NOTE: To keep track of touch devices, we currently maintain a lookup table |
// to quickly decide if a device is a touch device or not. We also maintain a |
// list of the touch devices. Ideally, there will be only one touch device, |
@@ -118,6 +127,9 @@ class EVENTS_BASE_EXPORT TouchFactory { |
// capable. |
std::map<int, bool> touch_device_list_; |
+ // Touch screen <vid, pid>s. |
+ std::set<std::pair<int, int> > touchscreen_ids_; |
+ |
// Maximum simultaneous touch points supported by device. In the case of |
// devices with multiple digitizers (e.g. multiple touchscreens), the value |
// is the maximum of the set of maximum supported contacts by each individual |