| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <errno.h> | 5 #include <errno.h> |
| 6 #include <fcntl.h> | 6 #include <fcntl.h> |
| 7 #include <linux/input.h> | 7 #include <linux/input.h> |
| 8 #include <unistd.h> | 8 #include <unistd.h> |
| 9 | 9 |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 545 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 556 {{0, 0}, EV_ABS, ABS_MT_POSITION_Y, 666}, | 556 {{0, 0}, EV_ABS, ABS_MT_POSITION_Y, 666}, |
| 557 {{0, 0}, EV_SYN, SYN_REPORT, 0}, | 557 {{0, 0}, EV_SYN, SYN_REPORT, 0}, |
| 558 }; | 558 }; |
| 559 | 559 |
| 560 // Check that one 1 event is generated | 560 // Check that one 1 event is generated |
| 561 dev->ConfigureReadMock(mock_kernel_queue, arraysize(mock_kernel_queue), 0); | 561 dev->ConfigureReadMock(mock_kernel_queue, arraysize(mock_kernel_queue), 0); |
| 562 dev->ReadNow(); | 562 dev->ReadNow(); |
| 563 EXPECT_EQ(1u, size()); | 563 EXPECT_EQ(1u, size()); |
| 564 } | 564 } |
| 565 | 565 |
| 566 // crbug.com/472308 |
| 567 TEST_F(TouchEventConverterEvdevTest, TestTouchIdOffset) { |
| 568 ui::MockTouchEventConverterEvdev* dev = device(); |
| 569 InitPixelTouchscreen(dev); |
| 570 |
| 571 const int kTouchIdOffset = 20; |
| 572 dev->SetTouchIdOffset(kTouchIdOffset); |
| 573 |
| 574 struct input_event mock_kernel_queue[] = { |
| 575 {{0, 0}, EV_ABS, ABS_MT_SLOT, 0}, |
| 576 {{0, 0}, EV_ABS, ABS_MT_TRACKING_ID, 100}, |
| 577 {{0, 0}, EV_ABS, ABS_MT_POSITION_X, 999}, |
| 578 {{0, 0}, EV_ABS, ABS_MT_POSITION_Y, 888}, |
| 579 {{0, 0}, EV_ABS, ABS_MT_PRESSURE, 55}, |
| 580 {{0, 0}, EV_ABS, ABS_MT_SLOT, 1}, |
| 581 {{0, 0}, EV_ABS, ABS_MT_TRACKING_ID, 200}, |
| 582 {{0, 0}, EV_ABS, ABS_MT_PRESSURE, 44}, |
| 583 {{0, 0}, EV_ABS, ABS_MT_POSITION_X, 777}, |
| 584 {{0, 0}, EV_ABS, ABS_MT_POSITION_Y, 666}, |
| 585 {{0, 0}, EV_ABS, ABS_X, 999}, |
| 586 {{0, 0}, EV_ABS, ABS_Y, 888}, |
| 587 {{0, 0}, EV_ABS, ABS_PRESSURE, 55}, |
| 588 {{0, 0}, EV_SYN, SYN_REPORT, 0}, |
| 589 }; |
| 590 |
| 591 // Check that two events are generated. |
| 592 dev->ConfigureReadMock(mock_kernel_queue, arraysize(mock_kernel_queue), 0); |
| 593 dev->ReadNow(); |
| 594 |
| 595 const unsigned int kExpectedEventCount = 2; |
| 596 EXPECT_EQ(kExpectedEventCount, size()); |
| 597 if (kExpectedEventCount != size()) |
| 598 return; |
| 599 |
| 600 ui::TouchEventParams ev0 = dispatched_event(0); |
| 601 ui::TouchEventParams ev1 = dispatched_event(1); |
| 602 EXPECT_EQ(ev0.touch_id, kTouchIdOffset + 0); |
| 603 EXPECT_EQ(ev1.touch_id, kTouchIdOffset + 1); |
| 604 } |
| 605 |
| 566 namespace { | 606 namespace { |
| 567 | 607 |
| 568 // TouchNoiseFilter which: | 608 // TouchNoiseFilter which: |
| 569 // - Considers all events of type |noise_event_type| as noise. | 609 // - Considers all events of type |noise_event_type| as noise. |
| 570 // - Keeps track of the events that it receives. | 610 // - Keeps track of the events that it receives. |
| 571 class EventTypeTouchNoiseFilter : public TouchNoiseFilter { | 611 class EventTypeTouchNoiseFilter : public TouchNoiseFilter { |
| 572 public: | 612 public: |
| 573 explicit EventTypeTouchNoiseFilter(EventType noise_event_type) | 613 explicit EventTypeTouchNoiseFilter(EventType noise_event_type) |
| 574 : noise_event_type_(noise_event_type) {} | 614 : noise_event_type_(noise_event_type) {} |
| 575 ~EventTypeTouchNoiseFilter() override {} | 615 ~EventTypeTouchNoiseFilter() override {} |
| (...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 722 ASSERT_EQ(0u, size()); | 762 ASSERT_EQ(0u, size()); |
| 723 | 763 |
| 724 EventTypeTouchNoiseFilter* filter = | 764 EventTypeTouchNoiseFilter* filter = |
| 725 static_cast<EventTypeTouchNoiseFilter*>(first_filter()); | 765 static_cast<EventTypeTouchNoiseFilter*>(first_filter()); |
| 726 EXPECT_EQ(1u, filter->num_events(ET_TOUCH_PRESSED)); | 766 EXPECT_EQ(1u, filter->num_events(ET_TOUCH_PRESSED)); |
| 727 EXPECT_EQ(2u, filter->num_events(ET_TOUCH_MOVED)); | 767 EXPECT_EQ(2u, filter->num_events(ET_TOUCH_MOVED)); |
| 728 EXPECT_EQ(1u, filter->num_events(ET_TOUCH_RELEASED)); | 768 EXPECT_EQ(1u, filter->num_events(ET_TOUCH_RELEASED)); |
| 729 } | 769 } |
| 730 | 770 |
| 731 } // namespace ui | 771 } // namespace ui |
| OLD | NEW |