Lines Matching +full:c +full:- +full:22

2 # SPDX-License-Identifier: GPL-2.0
3 # -*- coding: utf-8 -*-
5 # Copyright (c) 2021 Benjamin Tissoires <benjamin.tissoires@gmail.com>
6 # Copyright (c) 2021 Red Hat, Inc.
42 https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
95 def from_evdev(cls, evdev) -> "PenState":
127 def apply(self, events: List[libevdev.InputEvent], strict: bool) -> "PenState":
177 def valid_transitions(self) -> Tuple["PenState", ...]:
256 def historically_tolerated_transitions(self) -> Tuple["PenState", ...]:
258 for skipping the in-range state, due to historical reasons.
341 def legal_transitions() -> Dict[str, Tuple["PenState", ...]]:
343 we don't have Invert nor Erase bits, so just move in/out-of-range or proximity.
344 … https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
347 "in-range": (PenState.PEN_IS_IN_RANGE,),
348 "in-range -> out-of-range": (
352 "in-range -> touch": (PenState.PEN_IS_IN_RANGE, PenState.PEN_IS_IN_CONTACT),
353 "in-range -> touch -> release": (
358 "in-range -> touch -> release -> out-of-range": (
367 def legal_transitions_with_invert() -> Dict[str, Tuple["PenState", ...]]:
371 … https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
374 "hover-erasing": (PenState.PEN_IS_IN_RANGE_WITH_ERASING_INTENT,),
375 "hover-erasing -> out-of-range": (
379 "hover-erasing -> erase": (
383 "hover-erasing -> erase -> release": (
388 "hover-erasing -> erase -> release -> out-of-range": (
394 "hover-erasing -> in-range": (
398 "in-range -> hover-erasing": (
405 def legal_transitions_with_primary_button() -> Dict[str, Tuple["PenState", ...]]:
410 "hover-button": (PenState.PEN_IS_IN_RANGE_WITH_BUTTON,),
411 "hover-button -> out-of-range": (
415 "in-range -> button-press": (
419 "in-range -> button-press -> button-release": (
424 "in-range -> touch -> button-press -> button-release": (
430 "in-range -> touch -> button-press -> release -> button-release": (
437 "in-range -> button-press -> touch -> release -> button-release": (
444 "in-range -> button-press -> touch -> button-release -> release": (
454 def legal_transitions_with_secondary_button() -> Dict[str, Tuple["PenState", ...]]:
460 "hover-button": (PenState.PEN_IS_IN_RANGE_WITH_SECOND_BUTTON,),
461 "hover-button -> out-of-range": (
465 "in-range -> button-press": (
469 "in-range -> button-press -> button-release": (
474 "in-range -> touch -> button-press -> button-release": (
480 "in-range -> touch -> button-press -> release -> button-release": (
487 "in-range -> button-press -> touch -> release -> button-release": (
494 "in-range -> button-press -> touch -> button-release -> release": (
504 def tolerated_transitions() -> Dict[str, Tuple["PenState", ...]]:
509 "direct-in-contact": (PenState.PEN_IS_IN_CONTACT,),
510 "direct-in-contact -> out-of-range": (
517 def tolerated_transitions_with_invert() -> Dict[str, Tuple["PenState", ...]]:
521 … https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
524 "direct-erase": (PenState.PEN_IS_ERASING,),
525 "direct-erase -> out-of-range": (
532 def broken_transitions() -> Dict[str, Tuple["PenState", ...]]:
539 "in-range -> touch -> erase -> hover-erase": (
545 "in-range -> erase -> hover-erase": (
550 "hover-erase -> erase -> touch -> in-range": (
556 "hover-erase -> touch -> in-range": (
561 "touch -> erase -> touch -> erase": (
826 p.y -= 1
835 p.y -= 1
849 we don't have Invert nor Erase bits, so just move in/out-of-range or proximity.
850 … https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
916 … https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
936 … https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
966 # surface, in-range stays to 1, but when
967 # the pen moves in-range gets reverted to 0
994 # return PenDigitizer('uhid test egalax-capacitive_0eef_7224',
99522 a1 00 09 42 15 00 25 01 75 01 95 01 81 02 09 32 15 00 25 01 81 02 09 51 75 05 95 01 16 00 00 26…
1002 # return PenDigitizer('uhid test egalax-capacitive_0eef_72fa',
100322 a1 00 09 42 15 00 25 01 75 01 95 01 81 02 09 32 15 00 25 01 81 02 09 51 75 05 95 01 16 00 00 26…
1010 # return PenDigitizer('uhid test egalax-capacitive_0eef_7336',
101122 a1 00 09 42 15 00 25 01 75 01 95 01 81 02 09 32 15 00 25 01 81 02 09 51 75 05 95 01 16 00 00 26…
1018 # return PenDigitizer('uhid test egalax-capacitive_0eef_7337',
101922 a1 00 09 42 15 00 25 01 75 01 95 01 81 02 09 32 15 00 25 01 81 02 09 51 75 05 95 01 16 00 00 26…
1026 # return PenDigitizer('uhid test egalax-capacitive_0eef_7349',
102722 a1 00 09 42 15 00 25 01 75 01 95 01 81 02 09 32 15 00 25 01 81 02 09 51 75 05 95 01 16 00 00 26…
1034 # return PenDigitizer('uhid test egalax-capacitive_0eef_73f4',
103522 a1 00 09 42 15 00 25 01 75 01 95 01 81 02 09 32 15 00 25 01 81 02 09 51 75 05 95 01 16 00 00 26…
1043 …30 09 31 15 00 26 ff 7f 75 10 95 02 81 02 c0 c0 05 0d 09 04 a1 01 85 30 09 22 a1 02 09 42 15 00 25…
1051 …rdesc="05 0d 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 8…
1060 …rdesc="05 0d 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 8…
1069 …rdesc="05 0d 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 8…
108322 a1 02 09 42 15 00 25 01 75 01 95 01 81 02 95 01 81 03 95 01 81 03 25 1f 75 05 09 51 81 02 05 01…
109022 a1 02 09 42 15 00 25 01 75 01 95 01 81 02 95 01 81 03 95 01 81 03 25 1f 75 05 09 51 81 02 05 01…
1098c 85 2c b1 02 96 fe 01 09 2d 85 2d b1 02 95 02 09 48 85 48 b1 02 95 0f 09 2e 85 2e 81 02 95 1f 09 …
1106c 85 2c b1 02 96 fe 01 09 2d 85 2d b1 02 95 02 09 48 85 48 b1 02 95 0f 09 2e 85 2e 81 02 95 1f 09 …
1114c 85 2c b1 02 96 fe 01 09 2d 85 2d b1 02 95 02 09 48 85 48 b1 02 95 0f 09 2e 85 2e 81 02 95 1f 09 …
1122c 85 2c b1 02 96 fe 01 09 2d 85 2d b1 02 95 02 09 48 85 48 b1 02 95 0f 09 2e 85 2e 81 02 95 1f 09 …
1130c 85 2c b1 02 96 fe 01 09 2d 85 2d b1 02 95 02 09 48 85 48 b1 02 95 0f 09 2e 85 2e 81 02 95 1f 09 …
113822 a1 02 55 0e 65 11 35 00 15 00 09 42 25 01 75 01 95 01 81 02 95 07 81 01 95 01 75 08 09 51 81 02…
115322 a1 02 09 42 15 00 25 01 75 01 95 01 81 02 75 01 81 03 75 06 09 51 25 3f 81 02 26 ff 00 75 08 55…
116222 a1 02 55 0e 65 11 35 00 15 00 09 42 25 01 75 01 95 01 81 02 25 7f 09 30 75 07 81 42 95 01 75 08…