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

pgl*_*itt 6 python linux windows events tkinter

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

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

如何绑定Tkinter 8.5表现为返回键?

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()
Run Code Online (Sandbox Code Playgroud)

Jun*_*uxx 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()
Run Code Online (Sandbox Code Playgroud)