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

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

Issue 1155543002: ozone: Use DeviceCapabilities in TabletEventConverterEvdev unittest (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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
« no previous file with comments | « ui/events/ozone/evdev/tablet_event_converter_evdev.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/events/ozone/evdev/tablet_event_converter_evdev_unittest.cc
diff --git a/ui/events/ozone/evdev/tablet_event_converter_evdev_unittest.cc b/ui/events/ozone/evdev/tablet_event_converter_evdev_unittest.cc
index 0df01995e9ee1d5955412abc45af7be0633cb907..a42eb62daa0c76fc6e633c3e081a823dd1b22920 100644
--- a/ui/events/ozone/evdev/tablet_event_converter_evdev_unittest.cc
+++ b/ui/events/ozone/evdev/tablet_event_converter_evdev_unittest.cc
@@ -19,6 +19,7 @@
#include "ui/events/event.h"
#include "ui/events/ozone/device/device_manager.h"
#include "ui/events/ozone/evdev/event_converter_test_util.h"
+#include "ui/events/ozone/evdev/event_device_test_util.h"
#include "ui/events/ozone/evdev/event_factory_evdev.h"
#include "ui/events/ozone/evdev/tablet_event_converter_evdev.h"
#include "ui/events/ozone/layout/keyboard_layout_engine_manager.h"
@@ -36,6 +37,43 @@ static int SetNonBlocking(int fd) {
const char kTestDevicePath[] = "/dev/input/test-device";
+const ui::DeviceAbsoluteAxis kWacomIntuos5SPenAbsAxes[] = {
+ {ABS_X, {0, 0, 31496, 4, 0, 200}},
+ {ABS_Y, {0, 0, 19685, 4, 0, 200}},
+ {ABS_Z, {0, -900, 899, 0, 0, 0}},
+ {ABS_RZ, {0, -900, 899, 0, 0, 0}},
+ {ABS_THROTTLE, {0, -1023, 1023, 0, 0, 0}},
+ {ABS_WHEEL, {0, 0, 1023, 0, 0, 0}},
+ {ABS_PRESSURE, {0, 0, 2047, 0, 0, 0}},
+ {ABS_DISTANCE, {0, 0, 63, 0, 0, 0}},
+ {ABS_TILT_X, {0, 0, 127, 0, 0, 0}},
+ {ABS_TILT_Y, {0, 0, 127, 0, 0, 0}},
+ {ABS_MISC, {0, 0, 0, 0, 0, 0}},
+};
+
+const ui::DeviceCapabilities kWacomIntuos5SPen = {
+ /* path */ "/sys/devices/pci0000:00/0000:00:14.0/usb1/"
+ "1-1/1-1:1.0/input/input19/event5",
+ /* name */ "Wacom Intuos5 touch S Pen",
+ /* phys */ "",
+ /* uniq */ "",
+ /* bustype */ "0003",
+ /* vendor */ "056a",
+ /* product */ "0026",
+ /* version */ "0107",
+ /* prop */ "1",
+ /* ev */ "1f",
+ /* key */ "1cdf 1f007f 0 0 0 0",
+ /* rel */ "100",
+ /* abs */ "1000f000167",
+ /* msc */ "1",
+ /* sw */ "0",
+ /* led */ "0",
+ /* ff */ "0",
+ kWacomIntuos5SPenAbsAxes,
+ arraysize(kWacomIntuos5SPenAbsAxes),
+};
+
} // namespace
namespace ui {
@@ -45,6 +83,7 @@ class MockTabletEventConverterEvdev : public TabletEventConverterEvdev {
MockTabletEventConverterEvdev(int fd,
base::FilePath path,
CursorDelegateEvdev* cursor,
+ const EventDeviceInfo& devinfo,
DeviceEventDispatcherEvdev* dispatcher);
~MockTabletEventConverterEvdev() override {};
@@ -97,20 +136,15 @@ MockTabletEventConverterEvdev::MockTabletEventConverterEvdev(
int fd,
base::FilePath path,
CursorDelegateEvdev* cursor,
+ const EventDeviceInfo& devinfo,
DeviceEventDispatcherEvdev* dispatcher)
: TabletEventConverterEvdev(fd,
path,
1,
INPUT_DEVICE_UNKNOWN,
cursor,
- EventDeviceInfo(),
+ devinfo,
dispatcher) {
- // Real values taken from Wacom Intuos 4
- x_abs_min_ = 0;
- x_abs_range_ = 65024;
- y_abs_min_ = 0;
- y_abs_range_ = 40640;
-
int fds[2];
if (pipe(fds))
@@ -158,17 +192,21 @@ class TabletEventConverterEvdevTest : public testing::Test {
base::Unretained(this)));
dispatcher_ =
ui::CreateDeviceEventDispatcherEvdevForTest(event_factory_.get());
- device_.reset(new ui::MockTabletEventConverterEvdev(
- events_in_, base::FilePath(kTestDevicePath), cursor_.get(),
- dispatcher_.get()));
}
void TearDown() override {
cursor_.reset();
- device_.reset();
}
- ui::MockTabletEventConverterEvdev* device() { return device_.get(); }
+ ui::MockTabletEventConverterEvdev* CreateDevice(
+ const ui::DeviceCapabilities& caps) {
+ ui::EventDeviceInfo devinfo;
+ CapabilitiesToDeviceInfo(caps, &devinfo);
+ return new ui::MockTabletEventConverterEvdev(
+ events_in_, base::FilePath(kTestDevicePath), cursor_.get(), devinfo,
+ dispatcher_.get());
+ }
+
ui::CursorDelegateEvdev* cursor() { return cursor_.get(); }
unsigned size() { return dispatched_events_.size(); }
@@ -189,7 +227,6 @@ class TabletEventConverterEvdevTest : public testing::Test {
scoped_ptr<ui::DeviceManager> device_manager_;
scoped_ptr<ui::EventFactoryEvdev> event_factory_;
scoped_ptr<ui::DeviceEventDispatcherEvdev> dispatcher_;
- scoped_ptr<ui::MockTabletEventConverterEvdev> device_;
ScopedVector<ui::Event> dispatched_events_;
@@ -201,25 +238,26 @@ class TabletEventConverterEvdevTest : public testing::Test {
#define EPSILON 20
-// Uses real data captured from Wacom Intuos 4
+// Uses real data captured from Wacom Intuos 5 Pen
TEST_F(TabletEventConverterEvdevTest, MoveTopLeft) {
- ui::MockTabletEventConverterEvdev* dev = device();
+ scoped_ptr<ui::MockTabletEventConverterEvdev> dev =
+ make_scoped_ptr(CreateDevice(kWacomIntuos5SPen));
struct input_event mock_kernel_queue[] = {
- {{0, 0}, EV_ABS, ABS_Y, 616},
- {{0, 0}, EV_ABS, ABS_DISTANCE, 62},
- {{0, 0}, EV_ABS, ABS_TILT_X, 50},
- {{0, 0}, EV_ABS, ABS_TILT_Y, 7},
+ {{0, 0}, EV_ABS, ABS_DISTANCE, 63},
+ {{0, 0}, EV_ABS, ABS_X, 477},
+ {{0, 0}, EV_ABS, ABS_TILT_X, 66},
+ {{0, 0}, EV_ABS, ABS_TILT_Y, 62},
{{0, 0}, EV_ABS, ABS_MISC, 1050626},
{{0, 0}, EV_KEY, BTN_TOOL_PEN, 1},
- {{0, 0}, EV_MSC, MSC_SERIAL, 159403517},
+ {{0, 0}, EV_MSC, MSC_SERIAL, 897618290},
{{0, 0}, EV_SYN, SYN_REPORT, 0},
- {{0, 0}, EV_ABS, ABS_Y, 0},
{{0, 0}, EV_ABS, ABS_DISTANCE, 0},
{{0, 0}, EV_ABS, ABS_TILT_X, 0},
+ {{0, 0}, EV_ABS, ABS_TILT_Y, 0},
{{0, 0}, EV_KEY, BTN_TOOL_PEN, 0},
{{0, 0}, EV_ABS, ABS_MISC, 0},
- {{0, 0}, EV_MSC, MSC_SERIAL, 159403517},
+ {{0, 0}, EV_MSC, MSC_SERIAL, 897618290},
{{0, 0}, EV_SYN, SYN_REPORT, 0},
};
@@ -234,17 +272,18 @@ TEST_F(TabletEventConverterEvdevTest, MoveTopLeft) {
}
TEST_F(TabletEventConverterEvdevTest, MoveTopRight) {
- ui::MockTabletEventConverterEvdev* dev = device();
+ scoped_ptr<ui::MockTabletEventConverterEvdev> dev =
+ make_scoped_ptr(CreateDevice(kWacomIntuos5SPen));
struct input_event mock_kernel_queue[] = {
- {{0, 0}, EV_ABS, ABS_X, 65024},
- {{0, 0}, EV_ABS, ABS_Y, 33},
- {{0, 0}, EV_ABS, ABS_DISTANCE, 62},
- {{0, 0}, EV_ABS, ABS_TILT_X, 109},
- {{0, 0}, EV_ABS, ABS_TILT_Y, 59},
+ {{0, 0}, EV_ABS, ABS_DISTANCE, 63},
+ {{0, 0}, EV_ABS, ABS_X, 31496},
+ {{0, 0}, EV_ABS, ABS_Y, 109},
+ {{0, 0}, EV_ABS, ABS_TILT_X, 66},
+ {{0, 0}, EV_ABS, ABS_TILT_Y, 61},
{{0, 0}, EV_ABS, ABS_MISC, 1050626},
{{0, 0}, EV_KEY, BTN_TOOL_PEN, 1},
- {{0, 0}, EV_MSC, MSC_SERIAL, 159403517},
+ {{0, 0}, EV_MSC, MSC_SERIAL, 897618290},
{{0, 0}, EV_SYN, SYN_REPORT, 0},
{{0, 0}, EV_ABS, ABS_X, 0},
{{0, 0}, EV_ABS, ABS_DISTANCE, 0},
@@ -252,7 +291,7 @@ TEST_F(TabletEventConverterEvdevTest, MoveTopRight) {
{{0, 0}, EV_ABS, ABS_TILT_Y, 0},
{{0, 0}, EV_KEY, BTN_TOOL_PEN, 0},
{{0, 0}, EV_ABS, ABS_MISC, 0},
- {{0, 0}, EV_MSC, MSC_SERIAL, 159403517},
+ {{0, 0}, EV_MSC, MSC_SERIAL, 897618290},
{{0, 0}, EV_SYN, SYN_REPORT, 0},
};
@@ -268,24 +307,26 @@ TEST_F(TabletEventConverterEvdevTest, MoveTopRight) {
}
TEST_F(TabletEventConverterEvdevTest, MoveBottomLeft) {
- ui::MockTabletEventConverterEvdev* dev = device();
+ scoped_ptr<ui::MockTabletEventConverterEvdev> dev =
+ make_scoped_ptr(CreateDevice(kWacomIntuos5SPen));
struct input_event mock_kernel_queue[] = {
- {{0, 0}, EV_ABS, ABS_Y, 40640},
- {{0, 0}, EV_ABS, ABS_DISTANCE, 62},
- {{0, 0}, EV_ABS, ABS_TILT_X, 95},
- {{0, 0}, EV_ABS, ABS_TILT_Y, 44},
+ {{0, 0}, EV_ABS, ABS_DISTANCE, 63},
+ {{0, 0}, EV_ABS, ABS_Y, 19685},
+ {{0, 0}, EV_ABS, ABS_TILT_X, 64},
+ {{0, 0}, EV_ABS, ABS_TILT_Y, 61},
{{0, 0}, EV_ABS, ABS_MISC, 1050626},
{{0, 0}, EV_KEY, BTN_TOOL_PEN, 1},
- {{0, 0}, EV_MSC, MSC_SERIAL, 159403517},
+ {{0, 0}, EV_MSC, MSC_SERIAL, 897618290},
{{0, 0}, EV_SYN, SYN_REPORT, 0},
+ {{0, 0}, EV_ABS, ABS_X, 0},
{{0, 0}, EV_ABS, ABS_Y, 0},
{{0, 0}, EV_ABS, ABS_DISTANCE, 0},
{{0, 0}, EV_ABS, ABS_TILT_X, 0},
{{0, 0}, EV_ABS, ABS_TILT_Y, 0},
{{0, 0}, EV_KEY, BTN_TOOL_PEN, 0},
{{0, 0}, EV_ABS, ABS_MISC, 0},
- {{0, 0}, EV_MSC, MSC_SERIAL, 159403517},
+ {{0, 0}, EV_MSC, MSC_SERIAL, 897618290},
{{0, 0}, EV_SYN, SYN_REPORT, 0},
};
@@ -301,17 +342,18 @@ TEST_F(TabletEventConverterEvdevTest, MoveBottomLeft) {
}
TEST_F(TabletEventConverterEvdevTest, MoveBottomRight) {
- ui::MockTabletEventConverterEvdev* dev = device();
+ scoped_ptr<ui::MockTabletEventConverterEvdev> dev =
+ make_scoped_ptr(CreateDevice(kWacomIntuos5SPen));
struct input_event mock_kernel_queue[] = {
- {{0, 0}, EV_ABS, ABS_X, 65024},
- {{0, 0}, EV_ABS, ABS_Y, 40640},
- {{0, 0}, EV_ABS, ABS_DISTANCE, 62},
- {{0, 0}, EV_ABS, ABS_TILT_X, 127},
- {{0, 0}, EV_ABS, ABS_TILT_Y, 89},
+ {{0, 0}, EV_ABS, ABS_DISTANCE, 63},
+ {{0, 0}, EV_ABS, ABS_X, 31496},
+ {{0, 0}, EV_ABS, ABS_Y, 19685},
+ {{0, 0}, EV_ABS, ABS_TILT_X, 67},
+ {{0, 0}, EV_ABS, ABS_TILT_Y, 63},
{{0, 0}, EV_ABS, ABS_MISC, 1050626},
{{0, 0}, EV_KEY, BTN_TOOL_PEN, 1},
- {{0, 0}, EV_MSC, MSC_SERIAL, 159403517},
+ {{0, 0}, EV_MSC, MSC_SERIAL, 897618290},
{{0, 0}, EV_SYN, SYN_REPORT, 0},
{{0, 0}, EV_ABS, ABS_X, 0},
{{0, 0}, EV_ABS, ABS_Y, 0},
@@ -320,7 +362,7 @@ TEST_F(TabletEventConverterEvdevTest, MoveBottomRight) {
{{0, 0}, EV_ABS, ABS_TILT_Y, 0},
{{0, 0}, EV_KEY, BTN_TOOL_PEN, 0},
{{0, 0}, EV_ABS, ABS_MISC, 0},
- {{0, 0}, EV_MSC, MSC_SERIAL, 159403517},
+ {{0, 0}, EV_MSC, MSC_SERIAL, 897618290},
{{0, 0}, EV_SYN, SYN_REPORT, 0},
};
@@ -337,31 +379,32 @@ TEST_F(TabletEventConverterEvdevTest, MoveBottomRight) {
}
TEST_F(TabletEventConverterEvdevTest, Tap) {
- ui::MockTabletEventConverterEvdev* dev = device();
+ scoped_ptr<ui::MockTabletEventConverterEvdev> dev =
+ make_scoped_ptr(CreateDevice(kWacomIntuos5SPen));
struct input_event mock_kernel_queue[] = {
- {{0, 0}, EV_ABS, ABS_X, 31628},
- {{0, 0}, EV_ABS, ABS_Y, 21670},
- {{0, 0}, EV_ABS, ABS_DISTANCE, 62},
- {{0, 0}, EV_ABS, ABS_TILT_X, 114},
- {{0, 0}, EV_ABS, ABS_TILT_Y, 85},
+ {{0, 0}, EV_ABS, ABS_X, 15456},
+ {{0, 0}, EV_ABS, ABS_Y, 8605},
+ {{0, 0}, EV_ABS, ABS_DISTANCE, 49},
+ {{0, 0}, EV_ABS, ABS_TILT_X, 68},
+ {{0, 0}, EV_ABS, ABS_TILT_Y, 64},
{{0, 0}, EV_ABS, ABS_MISC, 1050626},
{{0, 0}, EV_KEY, BTN_TOOL_PEN, 1},
- {{0, 0}, EV_MSC, MSC_SERIAL, 159403517},
+ {{0, 0}, EV_MSC, MSC_SERIAL, 897618290},
{{0, 0}, EV_SYN, SYN_REPORT, 0},
- {{0, 0}, EV_ABS, ABS_X, 32094},
- {{0, 0}, EV_ABS, ABS_DISTANCE, 17},
- {{0, 0}, EV_ABS, ABS_PRESSURE, 883},
- {{0, 0}, EV_ABS, ABS_TILT_Y, 68},
+ {{0, 0}, EV_ABS, ABS_X, 15725},
+ {{0, 0}, EV_ABS, ABS_Y, 8755},
+ {{0, 0}, EV_ABS, ABS_DISTANCE, 29},
+ {{0, 0}, EV_ABS, ABS_PRESSURE, 992},
{{0, 0}, EV_KEY, BTN_TOUCH, 1},
- {{0, 0}, EV_MSC, MSC_SERIAL, 159403517},
+ {{0, 0}, EV_MSC, MSC_SERIAL, 897618290},
{{0, 0}, EV_SYN, SYN_REPORT, 0},
- {{0, 0}, EV_ABS, ABS_X, 32036},
- {{0, 0}, EV_ABS, ABS_Y, 21658},
- {{0, 0}, EV_ABS, ABS_DISTANCE, 19},
+ {{0, 0}, EV_ABS, ABS_X, 15922},
+ {{0, 0}, EV_ABS, ABS_Y, 8701},
+ {{0, 0}, EV_ABS, ABS_DISTANCE, 32},
{{0, 0}, EV_ABS, ABS_PRESSURE, 0},
{{0, 0}, EV_KEY, BTN_TOUCH, 0},
- {{0, 0}, EV_MSC, MSC_SERIAL, 159403517},
+ {{0, 0}, EV_MSC, MSC_SERIAL, 897618290},
{{0, 0}, EV_SYN, SYN_REPORT, 0},
{{0, 0}, EV_ABS, ABS_X, 0},
{{0, 0}, EV_ABS, ABS_Y, 0},
@@ -370,7 +413,7 @@ TEST_F(TabletEventConverterEvdevTest, Tap) {
{{0, 0}, EV_ABS, ABS_TILT_Y, 0},
{{0, 0}, EV_KEY, BTN_TOOL_PEN, 0},
{{0, 0}, EV_ABS, ABS_MISC, 0},
- {{0, 0}, EV_MSC, MSC_SERIAL, 159403517},
+ {{0, 0}, EV_MSC, MSC_SERIAL, 897618290},
{{0, 0}, EV_SYN, SYN_REPORT, 0},
};
@@ -388,27 +431,32 @@ TEST_F(TabletEventConverterEvdevTest, Tap) {
}
TEST_F(TabletEventConverterEvdevTest, StylusButtonPress) {
- ui::MockTabletEventConverterEvdev* dev = device();
+ scoped_ptr<ui::MockTabletEventConverterEvdev> dev =
+ make_scoped_ptr(CreateDevice(kWacomIntuos5SPen));
struct input_event mock_kernel_queue[] = {
- {{0, 0}, EV_ABS, ABS_X, 30055},
- {{0, 0}, EV_ABS, ABS_Y, 18094},
- {{0, 0}, EV_ABS, ABS_DISTANCE, 62},
- {{0, 0}, EV_ABS, ABS_TILT_X, 99},
- {{0, 0}, EV_ABS, ABS_TILT_Y, 68},
+ {{0, 0}, EV_ABS, ABS_DISTANCE, 63},
+ {{0, 0}, EV_ABS, ABS_X, 18372},
+ {{0, 0}, EV_ABS, ABS_Y, 9880},
+ {{0, 0}, EV_ABS, ABS_DISTANCE, 61},
+ {{0, 0}, EV_ABS, ABS_TILT_X, 60},
+ {{0, 0}, EV_ABS, ABS_TILT_Y, 63},
{{0, 0}, EV_ABS, ABS_MISC, 1050626},
{{0, 0}, EV_KEY, BTN_TOOL_PEN, 1},
- {{0, 0}, EV_MSC, MSC_SERIAL, 159403517},
+ {{0, 0}, EV_MSC, MSC_SERIAL, 897618290},
{{0, 0}, EV_SYN, SYN_REPORT, 0},
- {{0, 0}, EV_ABS, ABS_X, 29380},
+ {{0, 0}, EV_ABS, ABS_X, 18294},
+ {{0, 0}, EV_ABS, ABS_Y, 9723},
+ {{0, 0}, EV_ABS, ABS_DISTANCE, 20},
+ {{0, 0}, EV_ABS, ABS_PRESSURE, 1015},
{{0, 0}, EV_KEY, BTN_STYLUS2, 1},
- {{0, 0}, EV_MSC, MSC_SERIAL, 159403517},
+ {{0, 0}, EV_MSC, MSC_SERIAL, 897618290},
{{0, 0}, EV_SYN, SYN_REPORT, 0},
- {{0, 0}, EV_ABS, ABS_X, 29355},
- {{0, 0}, EV_ABS, ABS_Y, 20091},
- {{0, 0}, EV_ABS, ABS_DISTANCE, 34},
+ {{0, 0}, EV_ABS, ABS_X, 18516},
+ {{0, 0}, EV_ABS, ABS_Y, 9723},
+ {{0, 0}, EV_ABS, ABS_DISTANCE, 23},
{{0, 0}, EV_KEY, BTN_STYLUS2, 0},
- {{0, 0}, EV_MSC, MSC_SERIAL, 159403517},
+ {{0, 0}, EV_MSC, MSC_SERIAL, 897618290},
{{0, 0}, EV_SYN, SYN_REPORT, 0},
{{0, 0}, EV_ABS, ABS_X, 0},
{{0, 0}, EV_ABS, ABS_Y, 0},
@@ -417,7 +465,7 @@ TEST_F(TabletEventConverterEvdevTest, StylusButtonPress) {
{{0, 0}, EV_ABS, ABS_TILT_Y, 0},
{{0, 0}, EV_KEY, BTN_TOOL_PEN, 0},
{{0, 0}, EV_ABS, ABS_MISC, 0},
- {{0, 0}, EV_MSC, MSC_SERIAL, 159403517},
+ {{0, 0}, EV_MSC, MSC_SERIAL, 897618290},
{{0, 0}, EV_SYN, SYN_REPORT, 0},
};
@@ -436,7 +484,8 @@ TEST_F(TabletEventConverterEvdevTest, StylusButtonPress) {
// Should only get an event if BTN_TOOL received
TEST_F(TabletEventConverterEvdevTest, CheckStylusFiltering) {
- ui::MockTabletEventConverterEvdev* dev = device();
+ scoped_ptr<ui::MockTabletEventConverterEvdev> dev =
+ make_scoped_ptr(CreateDevice(kWacomIntuos5SPen));
struct input_event mock_kernel_queue[] = {
{{0, 0}, EV_ABS, ABS_X, 0},
« no previous file with comments | « ui/events/ozone/evdev/tablet_event_converter_evdev.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698