Lines Matching +full:event +full:- +full:prox
2 # SPDX-License-Identifier: GPL-2.0
3 # -*- coding: utf-8 -*-
22 """Represents whether the BTN_TOUCH event is set to True or False"""
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":
101 raise ValueError("EV_SYN is in the event sequence")
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": (
613 def event(self, pen, button): member in PenDigitizer
655 r = uhdev.event(pen, test_button)
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
872 def event(self, pen, test_button): member in GXTP_pen
879 # surface, in-range stays to 1, but when
880 # the pen moves in-range gets reverted to 0
893 return super().event(internal_pen, test_button)
985 def event(self, pen, test_button): member in XPPen_ArtistPro16Gen2_28bd_095b
999 return super().event(pen_copy, test_button)
1077 return super().event(intermediate_pen, button)
1079 def event(self, pen, button): member in XPPen_Artist24_28bd_093a
1082 # the pen reliably sends in-range events in a normal case (non emulation of eraser mode)
1132 rs.extend(super().event(pen, button))
1244 return super().event(intermediate_pen, test_button)
1246 def event(self, pen, button): member in Huion_Kamvas_Pro_19_256c_006b
1250 # going out-of-prox: the eraser mode is activated by presenting
1289 rs.extend(super().event(pen, button))
1301 # return PenDigitizer('uhid test egalax-capacitive_0eef_7224',
1309 # return PenDigitizer('uhid test egalax-capacitive_0eef_72fa',
1317 # return PenDigitizer('uhid test egalax-capacitive_0eef_7336',
1325 # return PenDigitizer('uhid test egalax-capacitive_0eef_7337',
1333 # return PenDigitizer('uhid test egalax-capacitive_0eef_7349',
1341 # return PenDigitizer('uhid test egalax-capacitive_0eef_73f4',
1498 hid_bpfs = [("Huion__Kamvas-Pro-19.bpf.o", True)]