summaryrefslogtreecommitdiffstats
path: root/chromium/ui/events/x/touch_factory_x11.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/ui/events/x/touch_factory_x11.h')
-rw-r--r--chromium/ui/events/x/touch_factory_x11.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/chromium/ui/events/x/touch_factory_x11.h b/chromium/ui/events/x/touch_factory_x11.h
index ed62c6d247f..4d8a989fd8f 100644
--- a/chromium/ui/events/x/touch_factory_x11.h
+++ b/chromium/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