Lines Matching +full:3 +full:- +full:d
2 # SPDX-License-Identifier: GPL-2.0
3 # -*- coding: utf-8 -*-
44 https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
67 def from_evdev(cls, evdev, test_button) -> "PenState":
100 ) -> "PenState":
147 def valid_transitions(self) -> Tuple["PenState", ...]:
207 def historically_tolerated_transitions(self) -> Tuple["PenState", ...]:
209 for skipping the in-range state, due to historical reasons.
272 def legal_transitions() -> Dict[str, Tuple["PenState", ...]]:
274 we don't have Invert nor Erase bits, so just move in/out-of-range or proximity.
275 … https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
278 "in-range": (PenState.PEN_IS_IN_RANGE,),
279 "in-range -> out-of-range": (
283 "in-range -> touch": (PenState.PEN_IS_IN_RANGE, PenState.PEN_IS_IN_CONTACT),
284 "in-range -> touch -> release": (
289 "in-range -> touch -> release -> out-of-range": (
298 def legal_transitions_with_invert() -> Dict[str, Tuple["PenState", ...]]:
302 … https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
305 "hover-erasing": (PenState.PEN_IS_IN_RANGE_WITH_ERASING_INTENT,),
306 "hover-erasing -> out-of-range": (
310 "hover-erasing -> erase": (
314 "hover-erasing -> erase -> release": (
319 "hover-erasing -> erase -> release -> out-of-range": (
325 "hover-erasing -> in-range": (
329 "in-range -> hover-erasing": (
336 def legal_transitions_with_button() -> Dict[str, Tuple["PenState", ...]]:
341 "hover-button": (PenState.PEN_IS_IN_RANGE_WITH_BUTTON,),
342 "hover-button -> out-of-range": (
346 "in-range -> button-press": (
350 "in-range -> button-press -> button-release": (
355 "in-range -> touch -> button-press -> button-release": (
361 "in-range -> touch -> button-press -> release -> button-release": (
368 "in-range -> button-press -> touch -> release -> button-release": (
375 "in-range -> button-press -> touch -> button-release -> release": (
385 def tolerated_transitions() -> Dict[str, Tuple["PenState", ...]]:
390 "direct-in-contact": (PenState.PEN_IS_IN_CONTACT,),
391 "direct-in-contact -> out-of-range": (
398 def tolerated_transitions_with_invert() -> Dict[str, Tuple["PenState", ...]]:
402 … https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
405 "direct-erase": (PenState.PEN_IS_ERASING,),
406 "direct-erase -> out-of-range": (
413 def broken_transitions() -> Dict[str, Tuple["PenState", ...]]:
420 "in-range -> touch -> erase -> hover-erase": (
426 "in-range -> erase -> hover-erase": (
431 "hover-erase -> erase -> touch -> in-range": (
437 "hover-erase -> touch -> in-range": (
442 "touch -> erase -> touch -> erase": (
709 p.y -= 1
714 assert len(events) >= 3 # X, Y, SYN
718 p.y -= 1
732 we don't have Invert nor Erase bits, so just move in/out-of-range or proximity.
733 … https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
830 … https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
850 … https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
880 # surface, in-range stays to 1, but when
881 # the pen moves in-range gets reverted to 0
1083 # the pen reliably sends in-range events in a normal case (non emulation of eraser mode)
1141 and 3rd button through Invert
1251 # going out-of-prox: the eraser mode is activated by presenting
1302 # return PenDigitizer('uhid test egalax-capacitive_0eef_7224',
1303 …d 09 04 a1 01 85 04 09 22 a1 00 09 42 15 00 25 01 75 01 95 01 81 02 09 32 15 00 25 01 81 02 09 51 …
1310 # return PenDigitizer('uhid test egalax-capacitive_0eef_72fa',
1311 …d 09 04 a1 01 85 04 09 22 a1 00 09 42 15 00 25 01 75 01 95 01 81 02 09 32 15 00 25 01 81 02 09 51 …
1318 # return PenDigitizer('uhid test egalax-capacitive_0eef_7336',
1319 …d 09 04 a1 01 85 04 09 22 a1 00 09 42 15 00 25 01 75 01 95 01 81 02 09 32 15 00 25 01 81 02 09 51 …
1326 # return PenDigitizer('uhid test egalax-capacitive_0eef_7337',
1327 …d 09 04 a1 01 85 04 09 22 a1 00 09 42 15 00 25 01 75 01 95 01 81 02 09 32 15 00 25 01 81 02 09 51 …
1334 # return PenDigitizer('uhid test egalax-capacitive_0eef_7349',
1335 …d 09 04 a1 01 85 04 09 22 a1 00 09 42 15 00 25 01 75 01 95 01 81 02 09 32 15 00 25 01 81 02 09 51 …
1342 # return PenDigitizer('uhid test egalax-capacitive_0eef_73f4',
1343 …d 09 04 a1 01 85 04 09 22 a1 00 09 42 15 00 25 01 75 01 95 01 81 02 09 32 15 00 25 01 81 02 09 51 …
1351 …d 09 04 a1 01 85 30 09 22 a1 02 09 42 15 00 25 01 75 01 95 01 81 02 09 32 81 02 09 47 81 02 95 05 …
1359 …d 09 04 a1 01 85 01 09 22 a1 02 09 42 15 00 25 01 75 01 95 01 81 02 09 32 81 02 95 06 81 03 75 08 …
1368 …d 09 04 a1 01 85 01 09 22 a1 02 09 42 15 00 25 01 75 01 95 01 81 02 09 32 81 02 95 06 81 03 75 08 …
1377 …d 09 04 a1 01 85 01 09 22 a1 02 09 42 15 00 25 01 75 01 95 01 81 02 09 32 81 02 95 06 81 03 75 08 …
1391 …d 09 04 a1 01 85 01 09 22 a1 02 09 42 15 00 25 01 75 01 95 01 81 02 95 01 81 03 95 01 81 03 25 1f …
1398 …d 09 04 a1 01 85 01 09 22 a1 02 09 42 15 00 25 01 75 01 95 01 81 02 95 01 81 03 95 01 81 03 25 1f …
1406 …3e 09 2b 85 2b b1 02 95 fe 09 2c 85 2c b1 02 96 fe 01 09 2d 85 2d b1 02 95 02 09 48 85 48 b1 02 95…
1414 …3e 09 2b 85 2b b1 02 95 fe 09 2c 85 2c b1 02 96 fe 01 09 2d 85 2d b1 02 95 02 09 48 85 48 b1 02 95…
1422 …3e 09 2b 85 2b b1 02 95 fe 09 2c 85 2c b1 02 96 fe 01 09 2d 85 2d b1 02 95 02 09 48 85 48 b1 02 95…
1430 …3e 09 2b 85 2b b1 02 95 fe 09 2c 85 2c b1 02 96 fe 01 09 2d 85 2d b1 02 95 02 09 48 85 48 b1 02 95…
1438 …3e 09 2b 85 2b b1 02 95 fe 09 2c 85 2c b1 02 96 fe 01 09 2d 85 2d b1 02 95 02 09 48 85 48 b1 02 95…
1446 …d 09 04 a1 01 85 01 09 22 a1 02 55 0e 65 11 35 00 15 00 09 42 25 01 75 01 95 01 81 02 95 07 81 01 …
1461 …d 09 04 a1 01 85 01 09 22 a1 02 09 42 15 00 25 01 75 01 95 01 81 02 75 01 81 03 75 06 09 51 25 3f …
1470 …d 09 04 a1 01 85 01 09 22 a1 02 55 0e 65 11 35 00 15 00 09 42 25 01 75 01 95 01 81 02 25 7f 09 30 …
1481 …d 09 02 a1 01 85 07 09 20 a1 00 09 42 09 44 09 45 09 3c 15 00 25 01 75 01 95 04 81 02 95 01 81 03 …
1493 …d 09 02 a1 01 85 07 09 20 a1 00 09 42 09 44 09 45 15 00 25 01 75 01 95 03 81 02 95 02 81 03 09 32 …
1499 hid_bpfs = [HidBpf("Huion__Kamvas-Pro-19.bpf.o", True)]
1504 …d 09 02 a1 01 85 0a 09 20 a1 01 09 42 09 44 09 43 09 3c 09 45 15 00 25 01 75 01 95 06 81 02 09 32 …