2010-09-21 58 views
0

至少有3種不同的鍵盤佈局使用我製作的程序,我不在乎他們按哪個鍵,更重要的是鍵被按下的地方。如何在Windows上的鍵盤上的物理位置上指定鍵?

我不能只是要求用戶按100個不同的按鍵/組合,這將花費太多的時間,並對用戶非常困惑。

有沒有一些圖書館或可以爲我做這件事?

+0

我真的認爲你運氣不好,鍵盤發送按鍵代碼,而不是鍵的位置。例如,我的鍵盤在右上角有'\\',但有些在左下角,但它們都發送相同的鍵碼。 – Blindy 2010-09-21 16:36:43

+1

對於這個問題的答案將比C++特定的MS Windows更具體(該語言甚至沒有鍵盤的概念),因此您可能需要更改問題標題。 – 2010-09-21 16:39:07

回答

0

這是無法完成的。鍵盤不會以電子形式顯示其佈局,可能會被操作系統查找。他們只是發送按鍵的代碼,而不是密鑰所在的位置。我每天都在處理幾個鍵盤,這些鍵盤都被列爲德國版式,但其中一些鍵位在不同的地方。

找出特定鍵盤上某個特定鍵的物理位置的唯一方法是查看鍵上打印的內容。

1

This answer表示您可以使用鍵盤「掃描碼」,它應該在所有鍵盤上都相同。所以看起來事實上有一種確定關鍵位置的方法。

即使不使用掃描碼,您也可以爲您支持的所有鍵盤佈局實施映射表。因此,如果鍵盤佈局是美式英語,則鍵將映射到命令A,但在佈局德語德語上,它將映射到命令B,而其他一些命令映射到命令A.它可能不適用於所有鍵盤,但如果它適用於所有用戶,這是最重要的。我可以看到爲什麼你在尋找一個現有的圖書館來做到這一點,因爲這將是一項大量的工作。

相關問題