2024-05-20 09:38:13 发布
网友
我需要编写一个Python脚本,将已定义的字符串粘贴到当前执行的程序中的选定文本字段中(不要更改程序的源代码)。它应该表现得像我按下了键盘上的键。你知道吗
我看到过这个Python simulate keydown,最终这就是我想做的事情,但问题是我想输入的字符不在标准键盘布局中。你知道吗
那么,有没有办法做到这一点?你知道吗
因此,这里是我的最终解决方案(基于前面的答案并使用python-uinput)。它通过按Ctrl+Shift+U,然后键入符号的十六进制代码来使用键入Unicode符号的功能。你知道吗
下面是我为它编写的Python脚本:
输入,时间
allKeys = [uinput.KEY_LEFTSHIFT, uinput.KEY_LEFTCTRL, uinput.KEY_SPACE, uinput.KEY_U, uinput.KEY_A, uinput.KEY_B, uinput.KEY_C, uinput.KEY_D, uinput.KEY_E, uinput.KEY_F, uinput.KEY_0, uinput.KEY_1, uinput.KEY_2, uinput.KEY_3, uinput.KEY_4, uinput.KEY_5, uinput.KEY_6, uinput.KEY_7, uinput.KEY_8, uinput.KEY_9] device = uinput.Device(allKeys) sleepInterval = 0.003 def printChar(charCode): time.sleep(sleepInterval) device.emit(uinput.KEY_LEFTSHIFT, 1); device.emit(uinput.KEY_LEFTCTRL, 1); device.emit_click(uinput.KEY_U); device.emit(uinput.KEY_LEFTSHIFT, 0); device.emit(uinput.KEY_LEFTCTRL, 0); time.sleep(sleepInterval) for symbol in charCode: device.emit_click(uinput._chars_to_events(symbol)[0]); time.sleep(sleepInterval) device.emit_click(uinput.KEY_SPACE); time.sleep(sleepInterval) charString = "string that will be typed" for char in charString: printChar('{:04x}'.format(ord(char)))
你可能想看一下。它允许您通过/dev/uinput设备注入击键、按钮、鼠标移动、操纵杆移动等。你知道吗
在Python中,您可以执行以下操作:
keys = [uinput.KEY_X, uinput.KEY_Y, uinput.KEY_Z] device = uinput.Device(keys) ... # Simulate key Y being pressed. device.emit(uinput.KEY_Y, 1)
当然,你需要投入:
pip install python-uinput
如果没有,您可能需要安装uinput设备。你知道吗
(好吧,我想这只是Linux的一个解决方案,不幸的是,我没有问你的平台是什么)。你知道吗
因此,这里是我的最终解决方案(基于前面的答案并使用python-uinput)。它通过按Ctrl+Shift+U,然后键入符号的十六进制代码来使用键入Unicode符号的功能。你知道吗
下面是我为它编写的Python脚本:
输入,时间
你可能想看一下。它允许您通过/dev/uinput设备注入击键、按钮、鼠标移动、操纵杆移动等。你知道吗
在Python中,您可以执行以下操作:
当然,你需要投入:
如果没有,您可能需要安装uinput设备。你知道吗
(好吧,我想这只是Linux的一个解决方案,不幸的是,我没有问你的平台是什么)。你知道吗
相关问题 更多 >
编程相关推荐