如何使用pythonxlib生成一个按键?

2024-06-26 13:42:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我想制作一个非常简单的python3脚本,它将生成一个按键(F15)。我不想使用一堆库来做这件事,因为我只需要按下一个键,不需要支持整个键盘。我知道我需要使用KeyPress和keyrease来生成键盘事件。我只是不知道从哪里开始,文档有点混乱。在

http://tronche.com/gui/x/xlib/events/keyboard-pointer/keyboard-pointer.htmlhttp://python-xlib.sourceforge.net/?page=documentation


Tags: 文档脚本comhttp事件键盘python3按键
1条回答
网友
1楼 · 发布于 2024-06-26 13:42:03

我将使用^{}向您展示它是如何工作的,但是将其移植到^{}应该很简单。因此,让我们从加载库开始:

import ctypes
X11 = ctypes.CDLL("libX11.so")

以及定义所需的结构:

^{pr2}$

现在我们只需要将事件发送到根窗口:

display = X11.XOpenDisplay(None)
key = XEvent(type=2).xkey #KeyPress
key.keycode = X11.XKeysymToKeycode(display, 0xffcc) #F15
key.window = key.root = X11.XDefaultRootWindow(display)
X11.XSendEvent(display, key.window, True, 1, ctypes.byref(key))
X11.XCloseDisplay(display)

这个最小的例子对我来说很好(只使用F2)。发送KeyRelease事件也可以这样做。如果要将特殊窗口作为目标,则应适当设置key.window。在

我不确定是否有必要使用XEvent联合,因为它曾单独与XKeyEvent一起工作,但最好是安全的。在

相关问题 更多 >