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

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

Issue 1073573002: Ozone support for device special cases in keyboard event rewriting. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: white space Created 5 years, 8 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
Index: ui/events/ozone/evdev/event_converter_evdev.cc
diff --git a/ui/events/ozone/evdev/event_converter_evdev.cc b/ui/events/ozone/evdev/event_converter_evdev.cc
index fce8e9ca3753da617928c10c52c40e9b27532698..0957829f94f29e662123df656acebe2114b83e24 100644
--- a/ui/events/ozone/evdev/event_converter_evdev.cc
+++ b/ui/events/ozone/evdev/event_converter_evdev.cc
@@ -13,11 +13,34 @@
namespace ui {
+namespace {
+ // USB vendor and product strings are pragmatically limited to 126
+ // characters each, so device names more than twice that should be
+ // unusual.
+ const size_t kMaximumDeviceNameLength = 256;
+} // anonymous namespace
+
EventConverterEvdev::EventConverterEvdev(int fd,
const base::FilePath& path,
int id,
InputDeviceType type)
- : fd_(fd), path_(path), id_(id), type_(type), ignore_events_(false) {
+ : fd_(fd),
+ path_(path),
+ input_device_(id, type, std::string()),
+ ignore_events_(false) {
+ char device_name[kMaximumDeviceNameLength];
+ if (ioctl(fd, EVIOCGNAME(kMaximumDeviceNameLength - 1), &device_name) < 0) {
spang 2015/04/08 22:54:30 Can you move these to EventDeviceInfo? That's wher
kpschoedel 2015/04/09 18:51:41 Done.
+ PLOG(INFO) << "Can't read device name for " << id;
+ } else {
+ input_device_.name = device_name;
+ }
+ struct input_id evdev_id;
+ if (ioctl(fd, EVIOCGID, &evdev_id) < 0) {
+ PLOG(INFO) << "Can't read device identification for " << id;
+ } else {
+ input_device_.vendor_id = evdev_id.vendor;
+ input_device_.product_id = evdev_id.product;
+ }
}
EventConverterEvdev::~EventConverterEvdev() {

Powered by Google App Engine
This is Rietveld 408576698