2013-01-23 127 views
0

有沒有辦法檢測Tkinter當前的鍵盤佈局?Tkinter確定鍵盤佈局

有必要正確處理俄語,法語,希臘語等語言的鍵盤加速器(有關詳細信息,請參閱我的other question)。

+0

在你的問題中鏈接的報告確實提供了一種方法,你檢查它在http://bugs.python.org/issue1794#msg86386?如果這對你沒有幫助,請解釋原因。另外,你知道如何正確檢測當前的鍵盤佈局嗎?我記得Ubuntu有時候很難檢測到我最典型的鍵盤。 – mmgp

+0

我引用了我的解決方法,它與我的原始問題中的鏈接中給出的配方類似[答案](http://stackoverflow.com/a/14474957/237105),以及我的想法,說明它爲什麼會不好。 –

+0

至於在一般情況下確定鍵盤佈局 - 至少在Windows中它是非常可行的:http://stackoverflow.com/questions/1291509/how-to-get-the-code-page-of-the-current-keyboard-佈局?rq = 1 –

回答

0

不,Tkinter中沒有內置此類功能。

爲什麼不簡單地讓應用程序詢問用戶第一次啓動應用程序時每個特殊鍵的位置?蘋果公司在OSX上這樣做 - 它讓我在第一次啓動全新安裝時按下幾個按鍵。

您可以將焦點放入一個小部件並綁定到<Any-KeyPress>,並從中獲取足夠的信息以綁定到他們按下的任何鍵。

+0

wxPython的一個示例應用程序完美地對鍵盤加速器進行「轉換」,沒有任何干預我的身邊(在Windows下),然而你說在Tkinter中完成是不可能的。 –

+0

要問用戶每一個鍵盤加速器都是不必要的負擔,我只在linux下看到它'mc',這是第一個關於午夜指揮官的最糟糕的事情) –

+0

>你可以把焦點 是的,這就是我目前這樣做,結果是在我的[答](http://stackoverflow.com/a/14474957/237105)原來的問題 –