如何在Linux中获取箭头键并在键盘上输入键以表现得像windows7

时间:2014-03-28 22:37:48

标签: python linux windows events tkinter

我正在开发一个程序来控制只连接键盘的机器。我使用的是Python 2.7和Tkinter 8.5。我正在使用OptionMenu来允许用户在机器上进行设置。

当我在Windows下运行时,我可以使用键盘上的箭头键遍历下拉列表,然后使用键盘输入选择选项。这不适用于Linux(Debian Wheezy)。

如何绑定KP_Enter以表现为返回键?

import Tkinter

def c(self, event):
   event.b[".keysym"] = "<<space>>"
   print "button invoked"

t = Tkinter.Tk()

b = Tkinter.OptionMenu(t, ".500", ".510", ".520", 
                       ".550", ".560", ".570", ".580", command=c)
t.bind("<KP_Enter>", c)
e = Tkinter.Entry()
e.pack()
b.pack(anchor=Tkinter.E)

t.mainloop()

1 个答案:

答案 0 :(得分:0)

使用此脚本(来自here),当您按任意键时,应该很容易识别由Tkinter触发的键事件,无论是<Return><KP_Enter>还是({不知何故,也许你的键盘有一个有趣的映射)其他东西。

按下所需按钮时,只需查看控制台输出,并在实际代码中使用该键事件名称。

import Tkinter

def callback(e):
    print e.keysym

w = Tkinter.Frame(width=512, height=512)
w.bind("<KeyPress>", callback)
w.focus_set()
w.pack()
w.mainloop()