1

有没有办法在 Tkinter 中检测当前的键盘布局?

有必要为俄语、法语、希腊语等语言正确处理键盘加速器(有关详细信息,请参阅我的其他问题)。

4

2 回答 2

0

不,Tkinter 中没有内置这样的功能。

为什么不让您的应用程序在应用程序第一次启动时询问用户每个特殊键在哪里?Apple 在 OSX 上做到了这一点——在我第一次启动全新安装时,它要求我按几个键。

您可以将焦点放在小部件中并绑定到<Any-KeyPress>,然后从中获取足够的信息以绑定到他们按下的任何键。

于 2013-01-23T12:03:11.700 回答
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)
于 2020-12-29T08:49:40.803 回答