如何在 Linux 中获取箭头键并在键盘上输入键以表现得像 Windows 7
Posted
技术标签:
【中文标题】如何在 Linux 中获取箭头键并在键盘上输入键以表现得像 Windows 7【英文标题】:How to get arrow keys and enter key on key pad in Linux to behave like windows7 【发布时间】:2014-05-08 14:17:03 【问题描述】:我正在开发一个程序来控制一台只连接一个键盘的机器。我正在使用Python 2.7
和Tkinter 8.5
。我正在使用OptionMenu
s 允许用户在机器上进行设置。
当我在 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()
【问题讨论】:
您是否尝试过创建与<KP_Enter>
的绑定?您的代码仅显示<Return>
上的绑定。
我发布了错误的代码,但它不适用于 KP_Enter。我一直在研究并使用以下方法来绑定 KP_up 和 KP_down 箭头 def focus_next_button(event): event.widget.tk_focusNext().focus() return("break") master.bind("使用这个脚本(来自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()
【讨论】:
以上是关于如何在 Linux 中获取箭头键并在键盘上输入键以表现得像 Windows 7的主要内容,如果未能解决你的问题,请参考以下文章
在Xshell 6开NumLock时按小键盘上的数字键并不能输入数字
如何让 python 检测键盘的击键并根据 Windows 中的输入键发送不同的字符串