0

我在檢測按鍵時遇到問題。所有字符都在QUERTY鍵盤上工作,但我知道AZERTY鍵盤上某些字符的問題。檢測AZERTY鍵盤上的某些鍵?

例如,當在AZERTY鍵盤上按下\時,它被賦予226(â)的鍵碼。

如何確保跨鍵盤佈局的行爲一致?我預計內置的事件處理是一致的。

+0

您可能能夠檢查鍵佈局。我不知道這個功能。問題:是否有人使用谷歌了? –

+0

向我們展示如何獲取按鍵 –

+0

我正在使用RichTextBox的標準KeyDown事件並檢查e.KeyCode。 –

回答

0

我根本無法重現。反斜槓由AZERTY鍵盤組成,方法是先按住AltGr,然後在字母上方的數字行上按下鍵。當你做了以下KeyDown事件被觸發:

  • 邀請碼:菜單,鍵值:18爲的AltGr下去
  • 邀請碼:D8,鍵值:56爲下去

在另一方面,如果立即按鍵的W¯¯然後KeyDown用邀請碼OemBackslash和鍵值226左側被激發,並且<字符出現在文本框中。

我不知道你的鍵盤佈局是否設置不正確,以匹配你的特定鍵盤。我假設你的鍵盤看起來像這個維基頁面上的圖像:http://en.wikipedia.org/wiki/AZERTY

0

是的,不同的鍵盤佈局給出了不同的鍵碼。 documentationVK_OEM_102(鍵碼226)描述爲"<>" or "\|" on RT 102-key keyboard,所以鍵碼甚至不應該對應於單個特定字符。

要查看某個鍵對應哪個字符,請使用MapVirtualKey函數。然後你可以檢查它是否是反斜槓。