|
9 | 9 | from . import base |
10 | 10 | from hidtools.hut import HUT |
11 | 11 | from hidtools.util import BusType |
| 12 | +import enum |
12 | 13 | import libevdev |
13 | 14 | import logging |
14 | 15 | import pytest |
@@ -232,23 +233,26 @@ def set_report(self, req, rnum, rtype, data): |
232 | 233 | return 0 |
233 | 234 |
|
234 | 235 |
|
| 236 | +class HIDButtonType(enum.IntEnum): |
| 237 | + CLICKPAD = 0 |
| 238 | + PRESSUREPAD = 1 |
| 239 | + DISCRETE_BUTTONS = 2 |
| 240 | + |
| 241 | + |
235 | 242 | class PTP(Digitizer): |
236 | 243 | def __init__( |
237 | 244 | self, |
238 | 245 | name, |
239 | | - type="Click Pad", |
| 246 | + buttontype=HIDButtonType.CLICKPAD, |
240 | 247 | rdesc_str=None, |
241 | 248 | rdesc=None, |
242 | 249 | application="Touch Pad", |
243 | 250 | physical="Pointer", |
244 | 251 | max_contacts=None, |
245 | 252 | input_info=None, |
246 | 253 | ): |
247 | | - self.type = type.lower().replace(" ", "") |
248 | | - if self.type == "clickpad": |
249 | | - self.buttontype = 0 |
250 | | - else: # pressurepad |
251 | | - self.buttontype = 1 |
| 254 | + self.buttontype = buttontype |
| 255 | + |
252 | 256 | self.clickpad_state = False |
253 | 257 | self.left_state = False |
254 | 258 | self.right_state = False |
@@ -983,7 +987,7 @@ def test_ptp_buttons(self): |
983 | 987 | uhdev = self.uhdev |
984 | 988 | evdev = uhdev.get_evdev() |
985 | 989 |
|
986 | | - if uhdev.type == "clickpad": |
| 990 | + if uhdev.buttontype == HIDButtonType.CLICKPAD: |
987 | 991 | r = uhdev.event(click=True) |
988 | 992 | events = uhdev.next_sync_events() |
989 | 993 | self.debug_reports(r, uhdev, events) |
@@ -1918,7 +1922,7 @@ class Testdell_044e_1220(BaseTest.TestPTP): |
1918 | 1922 | def create_device(self): |
1919 | 1923 | return PTP( |
1920 | 1924 | "uhid test dell_044e_1220", |
1921 | | - type="pressurepad", |
| 1925 | + buttontype=HIDButtonType.DISCRETE_BUTTONS, |
1922 | 1926 | rdesc="05 01 09 02 a1 01 85 01 09 01 a1 00 05 09 19 01 29 03 15 00 25 01 75 01 95 03 81 02 95 05 81 01 05 01 09 30 09 31 15 81 25 7f 75 08 95 02 81 06 09 38 95 01 81 06 05 0c 0a 38 02 81 06 c0 c0 05 0d 09 05 a1 01 85 08 09 22 a1 02 15 00 25 01 09 47 09 42 95 02 75 01 81 02 95 01 75 03 25 05 09 51 81 02 75 01 95 03 81 03 05 01 15 00 26 af 04 75 10 55 0e 65 11 09 30 35 00 46 e8 03 95 01 81 02 26 7b 02 46 12 02 09 31 81 02 c0 55 0c 66 01 10 47 ff ff 00 00 27 ff ff 00 00 75 10 95 01 05 0d 09 56 81 02 09 54 25 05 95 01 75 08 81 02 05 09 19 01 29 03 25 01 75 01 95 03 81 02 95 05 81 03 05 0d 85 09 09 55 75 08 95 01 25 05 b1 02 06 00 ff 85 0a 09 c5 15 00 26 ff 00 75 08 96 00 01 b1 02 c0 06 01 ff 09 01 a1 01 85 03 09 01 15 00 26 ff 00 95 1b 81 02 85 04 09 02 95 50 81 02 85 05 09 03 95 07 b1 02 85 06 09 04 81 02 c0 06 02 ff 09 01 a1 01 85 07 09 02 95 86 75 08 b1 02 c0 05 0d 09 0e a1 01 85 0b 09 22 a1 02 09 52 15 00 25 0a 75 08 95 01 b1 02 c0 09 22 a1 00 85 0c 09 57 09 58 75 01 95 02 25 01 b1 02 95 06 b1 03 c0 c0", |
1923 | 1927 | ) |
1924 | 1928 |
|
@@ -2018,7 +2022,7 @@ class Testelan_04f3_313a(BaseTest.TestPTP): |
2018 | 2022 | def create_device(self): |
2019 | 2023 | return PTP( |
2020 | 2024 | "uhid test elan_04f3_313a", |
2021 | | - type="touchpad", |
| 2025 | + buttontype=HIDButtonType.DISCRETE_BUTTONS, |
2022 | 2026 | input_info=(BusType.I2C, 0x04F3, 0x313A), |
2023 | 2027 | rdesc="05 01 09 02 a1 01 85 01 09 01 a1 00 05 09 19 01 29 03 15 00 25 01 75 01 95 03 81 02 95 05 81 03 05 01 09 30 09 31 15 81 25 7f 75 08 95 02 81 06 75 08 95 05 81 03 c0 06 00 ff 09 01 85 0e 09 c5 15 00 26 ff 00 75 08 95 04 b1 02 85 0a 09 c6 15 00 26 ff 00 75 08 95 04 b1 02 c0 06 00 ff 09 01 a1 01 85 5c 09 01 95 0b 75 08 81 06 85 0d 09 c5 15 00 26 ff 00 75 08 95 04 b1 02 85 0c 09 c6 96 80 03 75 08 b1 02 85 0b 09 c7 95 82 75 08 b1 02 c0 05 0d 09 05 a1 01 85 04 09 22 a1 02 15 00 25 01 09 47 09 42 95 02 75 01 81 02 05 09 09 02 09 03 15 00 25 01 75 01 95 02 81 02 05 0d 95 01 75 04 25 0f 09 51 81 02 05 01 15 00 26 d7 0e 75 10 55 0d 65 11 09 30 35 00 46 44 2f 95 01 81 02 46 12 16 26 eb 06 26 eb 06 09 31 81 02 05 0d 15 00 25 64 95 03 c0 55 0c 66 01 10 47 ff ff 00 00 27 ff ff 00 00 75 10 95 01 09 56 81 02 09 54 25 7f 95 01 75 08 81 02 25 01 75 01 95 08 81 03 09 c5 75 08 95 02 81 03 05 0d 85 02 09 55 09 59 75 04 95 02 25 0f b1 02 85 07 09 60 75 01 95 01 15 00 25 01 b1 02 95 0f b1 03 06 00 ff 06 00 ff 85 06 09 c5 15 00 26 ff 00 75 08 96 00 01 b1 02 c0 05 0d 09 0e a1 01 85 03 09 22 a1 00 09 52 15 00 25 0a 75 10 95 01 b1 02 c0 09 22 a1 00 85 05 09 57 09 58 75 01 95 02 25 01 b1 02 95 0e b1 03 c0 c0 05 01 09 02 a1 01 85 2a 09 01 a1 00 05 09 19 01 29 03 15 00 25 01 75 01 95 03 81 02 95 05 81 03 05 01 09 30 09 31 15 81 25 7f 35 81 45 7f 55 00 65 13 75 08 95 02 81 06 75 08 95 05 81 03 c0 c0", |
2024 | 2028 | ) |
@@ -2110,7 +2114,7 @@ class Testsipodev_0603_0002(BaseTest.TestPTP): |
2110 | 2114 | def create_device(self): |
2111 | 2115 | return PTP( |
2112 | 2116 | "uhid test sipodev_0603_0002", |
2113 | | - type="clickpad", |
| 2117 | + buttontype=HIDButtonType.CLICKPAD, |
2114 | 2118 | rdesc="05 01 09 02 a1 01 85 03 09 01 a1 00 05 09 19 01 29 02 25 01 75 01 95 02 81 02 95 06 81 03 05 01 09 30 09 31 15 80 25 7f 75 08 95 02 81 06 c0 c0 05 0d 09 05 a1 01 85 04 09 22 a1 02 15 00 25 01 09 47 09 42 95 02 75 01 81 02 75 01 95 02 81 03 95 01 75 04 25 05 09 51 81 02 05 01 15 00 26 44 0a 75 0c 55 0e 65 11 09 30 35 00 46 ac 03 95 01 81 02 46 fe 01 26 34 05 75 0c 09 31 81 02 05 0d c0 55 0c 66 01 10 47 ff ff 00 00 27 ff ff 00 00 75 10 95 01 09 56 81 02 09 54 25 0a 95 01 75 04 81 02 75 01 95 03 81 03 05 09 09 01 25 01 75 01 95 01 81 02 05 0d 85 0a 09 55 09 59 75 04 95 02 25 0f b1 02 85 0b 09 60 75 01 95 01 15 00 25 01 b1 02 95 07 b1 03 85 09 06 00 ff 09 c5 15 00 26 ff 00 75 08 96 00 01 b1 02 c0 05 0d 09 0e a1 01 85 06 09 22 a1 02 09 52 15 00 25 0a 75 08 95 01 b1 02 c0 09 22 a1 00 85 07 09 57 09 58 75 01 95 02 25 01 b1 02 95 06 b1 03 c0 c0 05 01 09 0c a1 01 85 08 15 00 25 01 09 c6 75 01 95 01 81 06 75 07 81 03 c0 05 01 09 80 a1 01 85 01 15 00 25 01 75 01 0a 81 00 0a 82 00 0a 83 00 95 03 81 06 95 05 81 01 c0 06 0c 00 09 01 a1 01 85 02 25 01 15 00 75 01 0a b5 00 0a b6 00 0a b7 00 0a cd 00 0a e2 00 0a a2 00 0a e9 00 0a ea 00 95 08 81 02 0a 83 01 0a 6f 00 0a 70 00 0a 88 01 0a 8a 01 0a 92 01 0a a8 02 0a 24 02 95 08 81 02 0a 21 02 0a 23 02 0a 96 01 0a 25 02 0a 26 02 0a 27 02 0a 23 02 0a b1 02 95 08 81 02 c0 06 00 ff 09 01 a1 01 85 05 15 00 26 ff 00 19 01 29 02 75 08 95 05 b1 02 c0", |
2115 | 2119 | ) |
2116 | 2120 |
|
|
0 commit comments