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

Unified Diff: ui/events/ozone/evdev/event_factory_evdev.cc

Issue 790153005: ozone: evdev: Add property to identify internal or external devices (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years 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
Index: ui/events/ozone/evdev/event_factory_evdev.cc
diff --git a/ui/events/ozone/evdev/event_factory_evdev.cc b/ui/events/ozone/evdev/event_factory_evdev.cc
index d82465ab58f2042a42331f9b4c2593d7330e03ec..d65e06a075d56f901bd385bbdf2d4281d5eedde5 100644
--- a/ui/events/ozone/evdev/event_factory_evdev.cc
+++ b/ui/events/ozone/evdev/event_factory_evdev.cc
@@ -13,6 +13,8 @@
#include "base/thread_task_runner_handle.h"
#include "base/threading/worker_pool.h"
#include "ui/events/devices/device_data_manager.h"
+#include "ui/events/devices/device_util_linux.h"
+#include "ui/events/devices/input_device.h"
#include "ui/events/ozone/device/device_event.h"
#include "ui/events/ozone/device/device_manager.h"
#include "ui/events/ozone/evdev/cursor_delegate_evdev.h"
@@ -74,6 +76,7 @@ bool UseGesturesLibraryForDevice(const EventDeviceInfo& devinfo) {
scoped_ptr<EventConverterEvdev> CreateConverter(
const OpenInputDeviceParams& params,
int fd,
+ InputDeviceType type,
const EventDeviceInfo& devinfo) {
#if defined(USE_EVDEV_GESTURES)
// Touchpad or mouse: use gestures library.
@@ -85,14 +88,14 @@ scoped_ptr<EventConverterEvdev> CreateConverter(
params.keyboard, params.gesture_property_provider,
params.dispatch_callback));
return make_scoped_ptr(new EventReaderLibevdevCros(
- fd, params.path, params.id, gesture_interp.Pass()));
+ fd, params.path, params.id, type, gesture_interp.Pass()));
}
#endif
// Touchscreen: use TouchEventConverterEvdev.
if (devinfo.HasMTAbsXY()) {
scoped_ptr<TouchEventConverterEvdev> converter(new TouchEventConverterEvdev(
- fd, params.path, params.id, params.dispatch_callback));
+ fd, params.path, params.id, type, params.dispatch_callback));
converter->Initialize(devinfo);
return converter.Pass();
}
@@ -100,13 +103,14 @@ scoped_ptr<EventConverterEvdev> CreateConverter(
// Graphics tablet
if (devinfo.HasAbsXY())
return make_scoped_ptr<EventConverterEvdev>(new TabletEventConverterEvdev(
- fd, params.path, params.id, params.modifiers, params.cursor, devinfo,
- params.dispatch_callback));
+ fd, params.path, params.id, type, params.modifiers, params.cursor,
+ devinfo, params.dispatch_callback));
// Everything else: use EventConverterEvdevImpl.
return make_scoped_ptr<EventConverterEvdevImpl>(new EventConverterEvdevImpl(
- fd, params.path, params.id, params.modifiers, params.button_map,
- params.cursor, params.keyboard, params.dispatch_callback));
+ fd, params.path, params.id, type, params.modifiers,
+ params.button_map, params.cursor, params.keyboard,
+ params.dispatch_callback));
}
// Open an input device. Opening may put the calling thread to sleep, and
@@ -142,8 +146,10 @@ void OpenInputDevice(scoped_ptr<OpenInputDeviceParams> params,
return;
}
+ InputDeviceType type = GetInputDeviceTypeFromPath(path);
+
scoped_ptr<EventConverterEvdev> converter =
- CreateConverter(*params, fd, devinfo);
+ CreateConverter(*params, fd, type, devinfo);
// Reply with the constructed converter.
reply_runner->PostTask(FROM_HERE,
@@ -318,13 +324,9 @@ void EventFactoryEvdev::NotifyHotplugEventObserver(
std::vector<TouchscreenDevice> touchscreens;
for (auto it = converters_.begin(); it != converters_.end(); ++it) {
if (it->second->HasTouchscreen()) {
- InputDeviceType device_type = InputDeviceType::INPUT_DEVICE_EXTERNAL;
- if (it->second->IsInternal())
- device_type = InputDeviceType::INPUT_DEVICE_INTERNAL;
-
touchscreens.push_back(
TouchscreenDevice(it->second->id(),
- device_type,
+ it->second->type(),
std::string(), /* Device name */
it->second->GetTouchscreenSize()));
}

Powered by Google App Engine
This is Rietveld 408576698