如何在Linux中让小键盘上的箭头键和回车键像Windows 7一样工作
我正在开发一个程序,用来控制一台只有键盘连接的机器。我使用的是 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 个回答
1
通过这个脚本(来自这里),你可以很容易地识别出当你按下任何键时,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()