在python中,如何让它输入键盘按键?

时间:2011-04-22 22:20:03

标签: python

当我按下键盘上的print screen按钮时,我想触发一个事件,如下所示:

if keyboard-print screen:
    print "5"

4 个答案:

答案 0 :(得分:1)

请注意,tkinter解决方案在Mac上不起作用(至少它在我的Mac上不起作用)。我用Python 3.2.2和Python 2.7.2测试了它。如果窗口被撤消,它将无法获得焦点,因此它不会感知任何关键事件。

答案 1 :(得分:0)

Tkinter内置了按键事件。

import Tkinter as tk

def keypress(event):
if event.keysym == 'Escape':
root.destroy()
x = event.char
if x == "w":
print "blaw blaw blaw"
elif x == "a":
print "blaha blaha blaha"
elif x == "s":
print "blash blash blash"
elif x == "d":
print "blad blad blad"
else:
print x


root = tk.Tk()
print "Press a key (Escape key to exit):"
root.bind_all('<Key>', keypress)
# don't show the tk window
root.withdraw()
root.mainloop()

答案 2 :(得分:0)

在Windows中,您可以使用msvcrt模块:

  

这是特定于Windows的标准   扩展模块。它定义了一个   函数kbhit()检查是否   键盘命中存在,getch()   没有得到一个角色   回应它。

我不确定它是否适用于这两个组合按键

答案 3 :(得分:0)

Tkinter可能是最好的,但是如果你正在做一些基于终端的ncurses也是一种选择。如果你正在使用图形或GUI,你正在使用的库(PyGame,GTK,Wx,Qt,Pyglet等)将有自己的方式来处理键盘事件。