有没有办法在Tkinter中检测当前的键盘布局?
有必要正确处理俄语,法语,希腊语等语言的键盘加速器(详见我的other question)。
答案 0 :(得分:0)
不,Tkinter没有内置这样的功能。
为什么不让应用程序首次启动应用程序时询问用户每个特殊键的位置? Apple在OSX上做到这一点 - 它让我在第一次启动全新安装时按几个键。
您可以将焦点放入窗口小部件并绑定到<Any-KeyPress>
,并从中获取足够的信息以绑定到他们按下的任何键。
答案 1 :(得分:0)
似乎 keysym
是“??”如果布局不是英文。
def key_callback(e):
# Generate Ctrl-V if current layout is not english
if e.state & 4 > 0 and chr(e.keycode) == 'V' and e.keysym == "??":
root.focus_get().event_generate("<<Paste>>")
root.bind("<Key>", key_callback)