| Index: ui/events/ozone/evdev/key_event_converter.cc
|
| diff --git a/ui/events/ozone/evdev/key_event_converter.cc b/ui/events/ozone/evdev/key_event_converter.cc
|
| index 30fd476d2719a1663c6eb845c03947262135725b..3c07898e3ee748e6188bfe9e1a0eb9d070548aa1 100644
|
| --- a/ui/events/ozone/evdev/key_event_converter.cc
|
| +++ b/ui/events/ozone/evdev/key_event_converter.cc
|
| @@ -6,6 +6,7 @@
|
|
|
| #include <linux/input.h>
|
|
|
| +#include "base/message_loop/message_pump_ozone.h"
|
| #include "ui/events/event.h"
|
| #include "ui/events/keycodes/keyboard_codes.h"
|
| #include "ui/events/ozone/evdev/event_modifiers.h"
|
| @@ -189,11 +190,21 @@ KeyEventConverterEvdev::KeyEventConverterEvdev(int fd,
|
| EventModifiersEvdev* modifiers)
|
| : fd_(fd), path_(path), modifiers_(modifiers) {
|
| // TODO(spang): Initialize modifiers using EVIOCGKEY.
|
| + Start();
|
| }
|
|
|
| KeyEventConverterEvdev::~KeyEventConverterEvdev() {
|
| - if (fd_ >= 0 && close(fd_) < 0)
|
| - DLOG(WARNING) << "failed close on " << path_.value();
|
| + Stop();
|
| + close(fd_);
|
| +}
|
| +
|
| +void KeyEventConverterEvdev::Start() {
|
| + base::MessagePumpOzone::Current()->WatchFileDescriptor(
|
| + fd_, true, base::MessagePumpLibevent::WATCH_READ, &controller_, this);
|
| +}
|
| +
|
| +void KeyEventConverterEvdev::Stop() {
|
| + controller_.StopWatchingFileDescriptor();
|
| }
|
|
|
| void KeyEventConverterEvdev::OnFileCanReadWithoutBlocking(int fd) {
|
|
|