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

2 # SPDX-License-Identifier: GPL-2.0
3 # -*- coding: utf-8 -*-
23 https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
37 def from_evdev(cls, evdev) -> "PenState":
58 def apply(self, events) -> "PenState":
91 def valid_transitions(self) -> Tuple["PenState", ...]:
93 for skipping the in-range state, due to historical reasons.
145 self.tippressure = 15
146 self.azimuth = 0
153 self.x_tilt = 0
154 self.y_tilt = 0
155 self.twist = 0
183 self.x = 0
184 self.y = 0
186 self.tippressure = 0
187 self.azimuth = 0
189 self.width = 0
190 self.height = 0
193 self.x_tilt = 0
194 self.y_tilt = 0
195 self.twist = 0
236 def legal_transitions() -> Dict[str, Tuple[PenState, ...]]:
238 we don't have Invert nor Erase bits, so just move in/out-of-range or proximity.
239 … https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
242 "in-range": (PenState.PEN_IS_IN_RANGE,),
243 "in-range -> out-of-range": (
247 "in-range -> touch": (PenState.PEN_IS_IN_RANGE, PenState.PEN_IS_IN_CONTACT),
248 "in-range -> touch -> release": (
253 "in-range -> touch -> release -> out-of-range": (
262 def legal_transitions_with_invert() -> Dict[str, Tuple[PenState, ...]]:
266 … https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
269 "hover-erasing": (PenState.PEN_IS_IN_RANGE_WITH_ERASING_INTENT,),
270 "hover-erasing -> out-of-range": (
274 "hover-erasing -> erase": (
278 "hover-erasing -> erase -> release": (
283 "hover-erasing -> erase -> release -> out-of-range": (
289 "hover-erasing -> in-range": (
293 "in-range -> hover-erasing": (
300 def tolerated_transitions() -> Dict[str, Tuple[PenState, ...]]:
305 "direct-in-contact": (PenState.PEN_IS_IN_CONTACT,),
306 "direct-in-contact -> out-of-range": (
313 def tolerated_transitions_with_invert() -> Dict[str, Tuple[PenState, ...]]:
317 … https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
320 "direct-erase": (PenState.PEN_IS_ERASING,),
321 "direct-erase -> out-of-range": (
328 def broken_transitions() -> Dict[str, Tuple[PenState, ...]]:
335 "in-range -> touch -> erase -> hover-erase": (
341 "in-range -> erase -> hover-erase": (
346 "hover-erase -> erase -> touch -> in-range": (
352 "hover-erase -> touch -> in-range": (
357 "touch -> erase -> touch -> erase": (
478 p.y -= 1
485 p.y -= 1
497 we don't have Invert nor Erase bits, so just move in/out-of-range or proximity.
498 … https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
529 … https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
549 … https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
577 { 0, 0, 1 } <- hover
578 { 0, 1, 1 } <- primary button pressed
579 { 0, 1, 1 } <- liftoff
580 { 0, 0, 0 } <- leaves
599 p.y -= 1
607 assert libevdev.InputEvent(libevdev.EV_KEY.BTN_STYLUS, 0) in events
611 assert libevdev.InputEvent(libevdev.EV_KEY.BTN_TOOL_PEN, 0) in events
620 { 0, 0, 1 } <- hover
621 { 0, 1, 1 } <- primary button pressed
622 { 1, 1, 1 } <- touch-down
623 { 1, 1, 1 } <- still touch, scribble on the screen
624 { 0, 1, 1 } <- liftoff
625 { 0, 0, 0 } <- leaves
649 p.y -= 1
657 assert libevdev.InputEvent(libevdev.EV_KEY.BTN_TOUCH, 0) in events
662 assert libevdev.InputEvent(libevdev.EV_KEY.BTN_TOOL_PEN, 0) in events
663 assert libevdev.InputEvent(libevdev.EV_KEY.BTN_STYLUS, 0) in events
674 # surface, in-range stays to 1, but when
675 # the pen moves in-range gets reverted to 0
702 # return PenDigitizer('uhid test egalax-capacitive_0eef_7224',
7030d 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…
704 # input_info=(BusType.USB, 0x0eef, 0x7224),
710 # return PenDigitizer('uhid test egalax-capacitive_0eef_72fa',
7110d 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…
712 # input_info=(BusType.USB, 0x0eef, 0x72fa),
718 # return PenDigitizer('uhid test egalax-capacitive_0eef_7336',
7190d 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…
720 # input_info=(BusType.USB, 0x0eef, 0x7336),
726 # return PenDigitizer('uhid test egalax-capacitive_0eef_7337',
7270d 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…
728 # input_info=(BusType.USB, 0x0eef, 0x7337),
734 # return PenDigitizer('uhid test egalax-capacitive_0eef_7349',
7350d 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…
736 # input_info=(BusType.USB, 0x0eef, 0x7349),
742 # return PenDigitizer('uhid test egalax-capacitive_0eef_73f4',
7430d 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…
744 # input_info=(BusType.USB, 0x0eef, 0x73f4),
75115 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…
752 # input_info=(BusType.USB, 0x6615, 0x0070))
7590d 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…
760 input_info=(BusType.USB, 0x1870, 0x0100),
7680d 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…
769 input_info=(BusType.USB, 0x1870, 0x010D),
7770d 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…
778 input_info=(BusType.USB, 0x1870, 0x0119),
7910d 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…
7980d 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…
80615 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…
81415 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…
82215 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…
83015 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…
83815 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…
8460d 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…
8610d 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…
862 input_info=(BusType.I2C, 0x04F3, 0x2A49),
8700d 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…
871 input_info=(BusType.I2C, 0x27C6, 0x0E00),