38
38
# http://www.kernel.org/doc/Documentation/input/event-codes.txt
39
39
40
40
# pylint: disable=no-name-in-module
41
+ from typing import Final
41
42
from .ecodes import ABS , EV_ABS , EV_KEY , EV_REL , EV_SYN , KEY , REL , SYN , keys
42
43
43
44
@@ -48,21 +49,21 @@ class InputEvent:
48
49
49
50
def __init__ (self , sec , usec , type , code , value ):
50
51
#: Time in seconds since epoch at which event occurred.
51
- self .sec = sec
52
+ self .sec : int = sec
52
53
53
54
#: Microsecond portion of the timestamp.
54
- self .usec = usec
55
+ self .usec : int = usec
55
56
56
57
#: Event type - one of ``ecodes.EV_*``.
57
- self .type = type
58
+ self .type : int = type
58
59
59
60
#: Event code related to the event type.
60
- self .code = code
61
+ self .code : int = code
61
62
62
63
#: Event value related to the event type.
63
- self .value = value
64
+ self .value : int = value
64
65
65
- def timestamp (self ):
66
+ def timestamp (self ) -> float :
66
67
"""Return event timestamp as a float."""
67
68
return self .sec + (self .usec / 1000000.0 )
68
69
@@ -78,20 +79,20 @@ def __repr__(self):
78
79
class KeyEvent :
79
80
"""An event generated by a keyboard, button or other key-like devices."""
80
81
81
- key_up = 0x0
82
- key_down = 0x1
83
- key_hold = 0x2
82
+ key_up : Final [ int ] = 0x0
83
+ key_down : Final [ int ] = 0x1
84
+ key_hold : Final [ int ] = 0x2
84
85
85
86
__slots__ = "scancode" , "keycode" , "keystate" , "event"
86
87
87
- def __init__ (self , event , allow_unknown = False ):
88
+ def __init__ (self , event : InputEvent , allow_unknown : bool = False ):
88
89
"""
89
90
The ``allow_unknown`` argument determines what to do in the event of an event code
90
91
for which a key code cannot be found. If ``False`` a ``KeyError`` will be raised.
91
92
If ``True`` the keycode will be set to the hex value of the event code.
92
93
"""
93
94
94
- self .scancode = event .code
95
+ self .scancode : int = event .code
95
96
96
97
if event .value == 0 :
97
98
self .keystate = KeyEvent .key_up
@@ -109,7 +110,7 @@ def __init__(self, event, allow_unknown=False):
109
110
raise
110
111
111
112
#: Reference to an :class:`InputEvent` instance.
112
- self .event = event
113
+ self .event : InputEvent = event
113
114
114
115
def __str__ (self ):
115
116
try :
@@ -129,9 +130,9 @@ class RelEvent:
129
130
130
131
__slots__ = "event"
131
132
132
- def __init__ (self , event ):
133
+ def __init__ (self , event : InputEvent ):
133
134
#: Reference to an :class:`InputEvent` instance.
134
- self .event = event
135
+ self .event : InputEvent = event
135
136
136
137
def __str__ (self ):
137
138
msg = "relative axis event at {:f}, {}"
@@ -146,9 +147,9 @@ class AbsEvent:
146
147
147
148
__slots__ = "event"
148
149
149
- def __init__ (self , event ):
150
+ def __init__ (self , event : InputEvent ):
150
151
#: Reference to an :class:`InputEvent` instance.
151
- self .event = event
152
+ self .event : InputEvent = event
152
153
153
154
def __str__ (self ):
154
155
msg = "absolute axis event at {:f}, {}"
@@ -166,9 +167,9 @@ class SynEvent:
166
167
167
168
__slots__ = "event"
168
169
169
- def __init__ (self , event ):
170
+ def __init__ (self , event : InputEvent ):
170
171
#: Reference to an :class:`InputEvent` instance.
171
- self .event = event
172
+ self .event : InputEvent = event
172
173
173
174
def __str__ (self ):
174
175
msg = "synchronization event at {:f}, {}"
0 commit comments