File tree Expand file tree Collapse file tree 2 files changed +35
-3
lines changed
display_server_interactions Expand file tree Collapse file tree 2 files changed +35
-3
lines changed Original file line number Diff line number Diff line change 14
14
OSNotSupportedError as __OSNotSupportedError
15
15
)
16
16
17
- __version__ = "0.0.dev9 "
17
+ __version__ = "0.0.dev10 "
18
18
__author__ = "Commandcracker"
19
19
20
20
__os_name = __system ().lower ()
Original file line number Diff line number Diff line change 42
42
"""
43
43
SRCCOPY = 0x00CC0020
44
44
WM_CHAR = 0x0102
45
-
45
+ WM_KEYDOWN = 0x0100
46
+ WM_KEYUP = 0x0101
46
47
# pylint: disable=too-few-public-methods
47
48
48
49
@@ -149,7 +150,38 @@ def get_image(self, geometry: Optional[Box] = None):
149
150
return img
150
151
151
152
def send_chr (self , character : chr ) -> None :
152
- user32 .PostMessageW (self .window , WM_CHAR , ord (character ), 0 )
153
+ vk_map = {
154
+ "return" : 0x0D ,
155
+ "tab" : 0x09 ,
156
+ "shift_l" : 0xA0 ,
157
+ "shift_r" : 0xA1 ,
158
+ "control_r" : 0x11 ,
159
+ "control_r" : 0x11 ,
160
+ "alt_l" : 0x12 ,
161
+ "alt_r" : 0x12 ,
162
+ "pause" : 0x13 ,
163
+ "caps_lock" : 0x14 ,
164
+ "escape" : 0x1B ,
165
+ "space" : 0x20 ,
166
+ "prior" : 0x21 ,
167
+ "next" : 0x22 ,
168
+ "end" : 0x23 ,
169
+ "home" : 0x24 ,
170
+ "left" : 0x25 ,
171
+ "up" : 0x26 ,
172
+ "right" : 0x27 ,
173
+ "down" : 0x28 ,
174
+ "print" : 0x2C ,
175
+ "insert" : 0x2D ,
176
+ "delete" : 0x2E
177
+ }
178
+
179
+ vk = vk_map .get (character .lower ())
180
+ if vk is None :
181
+ user32 .PostMessageW (self .window , WM_CHAR , ord (character ), 0 )
182
+ else :
183
+ user32 .PostMessageW (self .window , WM_KEYDOWN , vk , 0 )
184
+ user32 .PostMessageW (self .window , WM_KEYUP , vk , 0 )
153
185
154
186
def send_str (self , string : str ) -> None :
155
187
for character in string :
You can’t perform that action at this time.
0 commit comments