Lines Matching +full:c +full:- +full:45

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.
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
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)
1251 # going out-of-prox: the eraser mode is activated by presenting
1302 # return PenDigitizer('uhid test egalax-capacitive_0eef_7224',
1310 # return PenDigitizer('uhid test egalax-capacitive_0eef_72fa',
1318 # return PenDigitizer('uhid test egalax-capacitive_0eef_7336',
1326 # return PenDigitizer('uhid test egalax-capacitive_0eef_7337',
1334 # return PenDigitizer('uhid test egalax-capacitive_0eef_7349',
1342 # return PenDigitizer('uhid test egalax-capacitive_0eef_73f4',
1343c 26 ff 7f 81 02 05 0d 09 55 25 08 75 08 95 01 b1 02 c0 c0 05 01 09 01 a1 01 85 01 09 01 a1 00 05 …
1391 …a1 01 85 03 09 20 a1 00 15 00 25 01 75 01 95 01 09 42 81 02 09 44 81 02 09 45 81 02 81 03 09 32 81…
1398 …a1 01 85 03 09 20 a1 00 15 00 25 01 75 01 95 01 09 42 81 02 09 44 81 02 09 45 81 02 81 03 09 32 81…
1406c 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 …
1414c 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 …
1422c 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 …
1430c 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 …
1438c 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 …
1446c 46 77 04 09 31 81 02 05 0d c0 09 22 a1 02 09 42 25 01 75 01 95 01 81 02 95 07 81 01 95 01 75 08 …
146145 ff 09 48 81 02 09 49 81 02 09 30 81 02 95 01 05 01 a4 26 cf 0f 75 10 55 0f 65 11 09 30 35 00 46…
147045 ff 09 48 81 42 09 49 81 42 55 0e c0 09 22 a1 02 09 42 25 01 75 01 95 01 81 02 25 7f 09 30 75 07…
148145 09 3c 15 00 25 01 75 01 95 04 81 02 95 01 81 03 09 32 15 00 25 01 95 01 81 02 95 02 81 03 75 10…
149345 15 00 25 01 75 01 95 03 81 02 95 02 81 03 09 32 95 01 81 02 95 02 81 03 75 10 95 01 35 00 a4 05…
1499 hid_bpfs = [HidBpf("Huion__Kamvas-Pro-19.bpf.o", True)]
1504c 09 45 15 00 25 01 75 01 95 06 81 02 09 32 75 01 95 01 81 02 81 03 05 01 09 30 09 31 55 0d 65 33 …