python - python中的关键监听器?

标签 python keylistener

有没有办法在没有像 pygame 这样庞大臃肿的模块的情况下在 python 中做关键监听器?

一个例子是,当我按下 a 键时,它会打印到控制台

The a key was pressed!

它还应该监听箭头键/空格键/shift键。

最佳答案

我正在寻找一个没有窗口焦点的简单解决方案。 Jayk 的回答,pynput ,非常适合我。这是我如何使用它的示例。

from pynput import keyboard

def on_press(key):
    if key == keyboard.Key.esc:
        return False  # stop listener
    try:
        k = key.char  # single-char keys
    except:
        k = key.name  # other keys
    if k in ['1', '2', 'left', 'right']:  # keys of interest
        # self.keys.append(k)  # store it in global-like variable
        print('Key pressed: ' + k)
        return False  # stop listener; remove this if want more keys

listener = keyboard.Listener(on_press=on_press)
listener.start()  # start to listen on a separate thread
listener.join()  # remove if main thread is polling self.keys

关于python - python中的关键监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11918999/

相关文章:

python - 如何为多对多关系(OpenERP7)添加和显示一些属性?

java - JTextField key listener 粘贴后落后一个

Python:为什么交换最大和最小数字的代码不起作用?

Python HTML 删除

java - 登月游戏。控件不起作用

java - 按住物理键,然后使用 awt.Robot 在 Java 中自动按下同一键

java - 如何判断一个形状是否已经接触到另一个形状?

java - 在循环中使用 KeyListener

python - 替换除两位数字之间的所有连字符

python - 我应该如何在 Django 中为表单编写测试?