Lines Matching +full:0 +full:- +full:15

2 # SPDX-License-Identifier: GPL-2.0
3 # -*- coding: utf-8 -*-
43 https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
66 def from_evdev(cls, evdev, test_button) -> "PenState":
99 ) -> "PenState":
146 def valid_transitions(self) -> Tuple["PenState", ...]:
206 def historically_tolerated_transitions(self) -> Tuple["PenState", ...]:
208 for skipping the in-range state, due to historical reasons.
271 def legal_transitions() -> Dict[str, Tuple["PenState", ...]]:
273 we don't have Invert nor Erase bits, so just move in/out-of-range or proximity.
274 … https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
277 "in-range": (PenState.PEN_IS_IN_RANGE,),
278 "in-range -> out-of-range": (
282 "in-range -> touch": (PenState.PEN_IS_IN_RANGE, PenState.PEN_IS_IN_CONTACT),
283 "in-range -> touch -> release": (
288 "in-range -> touch -> release -> out-of-range": (
297 def legal_transitions_with_invert() -> Dict[str, Tuple["PenState", ...]]:
301 … https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
304 "hover-erasing": (PenState.PEN_IS_IN_RANGE_WITH_ERASING_INTENT,),
305 "hover-erasing -> out-of-range": (
309 "hover-erasing -> erase": (
313 "hover-erasing -> erase -> release": (
318 "hover-erasing -> erase -> release -> out-of-range": (
324 "hover-erasing -> in-range": (
328 "in-range -> hover-erasing": (
335 def legal_transitions_with_button() -> Dict[str, Tuple["PenState", ...]]:
340 "hover-button": (PenState.PEN_IS_IN_RANGE_WITH_BUTTON,),
341 "hover-button -> out-of-range": (
345 "in-range -> button-press": (
349 "in-range -> button-press -> button-release": (
354 "in-range -> touch -> button-press -> button-release": (
360 "in-range -> touch -> button-press -> release -> button-release": (
367 "in-range -> button-press -> touch -> release -> button-release": (
374 "in-range -> button-press -> touch -> button-release -> release": (
384 def tolerated_transitions() -> Dict[str, Tuple["PenState", ...]]:
389 "direct-in-contact": (PenState.PEN_IS_IN_CONTACT,),
390 "direct-in-contact -> out-of-range": (
397 def tolerated_transitions_with_invert() -> Dict[str, Tuple["PenState", ...]]:
401 … https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
404 "direct-erase": (PenState.PEN_IS_ERASING,),
405 "direct-erase -> out-of-range": (
412 def broken_transitions() -> Dict[str, Tuple["PenState", ...]]:
419 "in-range -> touch -> erase -> hover-erase": (
425 "in-range -> erase -> hover-erase": (
430 "hover-erase -> erase -> touch -> in-range": (
436 "hover-erase -> touch -> in-range": (
441 "touch -> erase -> touch -> erase": (
455 self.tippressure = 15
456 self.azimuth = 0
551 pen.x = 0
552 pen.y = 0
554 pen.tippressure = 0
555 pen.azimuth = 0
557 pen.width = 0
558 pen.height = 0
561 pen.xtilt = 0
562 pen.ytilt = 0
563 pen.twist = 0
708 p.y -= 1
717 p.y -= 1
731 we don't have Invert nor Erase bits, so just move in/out-of-range or proximity.
732 … https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
829 … https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
849 … https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
879 # surface, in-range stays to 1, but when
880 # the pen moves in-range gets reverted to 0
913 input_info=(BusType.USB, 0x28BD, 0x095B),
930 pen.x = 0
931 pen.y = 0
933 pen.tippressure = 0
934 pen.azimuth = 0
936 pen.width = 0
937 pen.height = 0
940 pen.xtilt = 0
941 pen.ytilt = 0
942 pen.twist = 0
994 if pen_copy.xtilt != 0:
996 if pen_copy.ytilt != 0:
1014 input_info=(BusType.USB, 0x28BD, 0x093A),
1034 pen.tippressure = 0
1035 pen.azimuth = 0
1037 pen.width = 0
1038 pen.height = 0
1041 pen.xtilt = 0
1042 pen.ytilt = 0
1043 pen.twist = 0
1082 # the pen reliably sends in-range events in a normal case (non emulation of eraser mode)
1150 input_info=(BusType.USB, 0x256C, 0x006B),
1171 pen.tippressure = 0
1172 pen.azimuth = 0
1174 pen.width = 0
1175 pen.height = 0
1178 pen.xtilt = 0
1179 pen.ytilt = 0
1180 pen.twist = 0
1231 if report[0] == 0x0a:
1233 report[1] &= 0xdf
1236 if report[1] & 0x40:
1237 report[1] |= 0x80
1250 # going out-of-prox: the eraser mode is activated by presenting
1301 # return PenDigitizer('uhid test egalax-capacitive_0eef_7224',
13020d 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…
1303 # input_info=(BusType.USB, 0x0eef, 0x7224),
1309 # return PenDigitizer('uhid test egalax-capacitive_0eef_72fa',
13100d 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…
1311 # input_info=(BusType.USB, 0x0eef, 0x72fa),
1317 # return PenDigitizer('uhid test egalax-capacitive_0eef_7336',
13180d 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…
1319 # input_info=(BusType.USB, 0x0eef, 0x7336),
1325 # return PenDigitizer('uhid test egalax-capacitive_0eef_7337',
13260d 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…
1327 # input_info=(BusType.USB, 0x0eef, 0x7337),
1333 # return PenDigitizer('uhid test egalax-capacitive_0eef_7349',
13340d 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…
1335 # input_info=(BusType.USB, 0x0eef, 0x7349),
1341 # return PenDigitizer('uhid test egalax-capacitive_0eef_73f4',
13420d 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…
1343 # input_info=(BusType.USB, 0x0eef, 0x73f4),
135015 00 25 01 95 02 75 01 81 02 95 06 81 03 05 01 09 30 09 31 15 00 26 ff 7f 75 10 95 02 81 02 c0 c0…
1351 # input_info=(BusType.USB, 0x6615, 0x0070))
13580d 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…
1359 input_info=(BusType.USB, 0x1870, 0x0100),
13670d 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 input_info=(BusType.USB, 0x1870, 0x010D),
13760d 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 input_info=(BusType.USB, 0x1870, 0x0119),
13900d 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…
13970d 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…
140515 00 26 ff 00 06 0b ff 09 0b a1 01 95 0f 09 29 85 29 b1 02 95 1f 09 2a 85 2a b1 02 95 3e 09 2b 85…
141315 00 26 ff 00 06 0b ff 09 0b a1 01 95 0f 09 29 85 29 b1 02 95 1f 09 2a 85 2a b1 02 95 3e 09 2b 85…
142115 00 26 ff 00 06 0b ff 09 0b a1 01 95 0f 09 29 85 29 b1 02 95 1f 09 2a 85 2a b1 02 95 3e 09 2b 85…
142915 00 26 ff 00 06 0b ff 09 0b a1 01 95 0f 09 29 85 29 b1 02 95 1f 09 2a 85 2a b1 02 95 3e 09 2b 85…
143715 00 26 ff 00 06 0b ff 09 0b a1 01 95 0f 09 29 85 29 b1 02 95 1f 09 2a 85 2a b1 02 95 3e 09 2b 85…
14450d 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…
14600d 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…
1461 input_info=(BusType.I2C, 0x04F3, 0x2A49),
14690d 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…
1470 input_info=(BusType.I2C, 0x27C6, 0x0E00),
14800d 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…
1481 input_info=(BusType.USB, 0x28BD, 0x095B),
14920d 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…
1493 input_info=(BusType.USB, 0x28BD, 0x093A),
1498 hid_bpfs = [("Huion__Kamvas-Pro-19.bpf.o", True)]
15030d 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…
1504 input_info=(BusType.USB, 0x256C, 0x006B),