我在 VirtualBox(XP 主机)中运行 Ubuntu,虽然我的 F10 键有效,但没有按键事件发送到正在运行的程序。我检查了 compiz 和快捷键管理器,发现有一个东西在使用,我将其设置为 Ctrl+Alt+F10,但其他东西应该不会妨碍。
我抓取了这个程序以确保万无一失,当我按 F10 时什么也没有发生
#!/usr/bin/python
from Tkinter import *
root = Tk()
prompt = ' Press any key '
label = Label(root, text=prompt, width=len(prompt+10), bg='yellow')
label.pack()
def key(event):
if event.char == event.keysym:
msg = 'Normal Key %r' % event.char
elif len(event.char) == 1:
msg = 'Punctuation Key %r (%r)' % (event.keysym, event.char)
else:
msg = 'Special Key %r' % event.keysym
label.config(text=msg)
root.bind_all('<Key>', key)
root.mainloop()
当我在 xev 中按 F10 时,我得到
FocusOut event, serial 30, synthetic NO, window 0x5e00001,
mode NotifyGrab, detail NotifyAncestor
FocusIn event, serial 30, synthetic NO, window 0x5e00001,
mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 30, synthetic NO, window 0x0,
keys: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
随后按下 F10 键会将“keys:”后的第一个 0 更改为 2。
有什么方法可以让 F10 像“普通”F 键一样运行?