首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python pynput处理键盘

python pynput处理键盘
EN

Stack Overflow用户
提问于 2021-08-14 17:57:21
回答 1查看 171关注 0票数 1

我试着用这个上下文制作一个键盘句柄:

当f1按下“开始”(按下并释放此键: the )和按下f2时,将状态设置为false以停止按下键( the ):

代码语言:javascript
复制
from pynput.keyboard import Key, Listener

STATUS = True

def on_release(key):
    if key == Key.f1:
        # Stop listener
        STATUS = False
    if key == key.f2:
        STATUS = True

def main():
    with Listener(
        on_release=on_release) as listener:
            listener.join()
    while STATUS:
        keyboard.press('q')
        keyboard.release('q')
        keyboard.press('w')
        keyboard.release('w')
        keyboard.press('w')
        keyboard.release('w')

当我运行时,我得到了这个错误:

代码语言:javascript
复制
raceback (most recent call last):
  File "ap.py", line 1, in <module>
    from pynput.keyboard import Key, Listener
  File "/usr/local/lib/python3.8/dist-packages/pynput/__init__.py", line 40, in <module>
    from . import keyboard
  File "/usr/local/lib/python3.8/dist-packages/pynput/keyboard/__init__.py", line 31, in <module>
    backend = backend(__name__)
  File "/usr/local/lib/python3.8/dist-packages/pynput/_util/__init__.py", line 76, in backend
    raise ImportError('this platform is not supported: {}'.format(
ImportError: this platform is not supported: ('failed to acquire X connection: Bad display name ""', DisplayNameError(''))

Try one of the following resolutions:

 * Please make sure that you have an X server running, and that the DISPLAY environment variable is set correctly

编辑

我已经使用了pip3安装pynput

EN

回答 1

Stack Overflow用户

发布于 2022-11-02 22:53:25

在运行脚本之前,尝试使用以下命令连接到X服务器

代码语言:javascript
复制
xhost +

例如,创建像这样的bash脚本(script.bash)

代码语言:javascript
复制
DISPLAY=:0
xhost +
python3 yourscript.py

跑动

代码语言:javascript
复制
bash script.bash
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68785806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档