2012-12-10 57 views
0

所以我用RAWINPUT工作,我試圖找出如何檢查:RAWKEYBOARD標誌,檢查該標誌上,也SHIFT,CTRL和ALT

data.keyboard.Flags 

,看看是什麼標誌,我希望能夠檢查按鍵和向下按鍵以及左右按鍵。

你需要做這樣的事情:

if(data.keyboard.Flags == (RI_KEY_MAKE|RI_KEY_E0)) 

if(data.keyboard.Flags == (RI_KEY_BREAK|RI_KEY_E0)) 

我知道SHIFT鍵,我應該檢查makecode 左爲:0x2a 權的存在:0x36

CTRL和ALT鍵怎麼樣

回答

0

您需要知道密鑰的原始掃描代碼。他們的核心參考是Word document。有點難以摔跤,第16頁的掃描碼錶是最有用的資源。

請注意如何小心E0標誌。它用於在以後的鍵盤設計中添加的鍵。原始的IBM PC鍵盤始終有兩個移位鍵,因此它們使用不帶E0的專用掃描碼進行發送。但是Right-Ctrl和Right-Alt後來被添加了,它們的掃描碼分別是E0 1D和E0 38,左邊的是1D和38,沒有E0標誌。

+0

所以,如果我跟着你的權利,標誌實際上並沒有被使用,我需要使用掃描碼的關鍵,那麼回車鍵? – Baraphor

+0

不知道你想說什麼。你爲什麼不試試呢? –

+0

好吧我得到了這部分工作,我仍然不明白如何檢查一個關鍵是否是,這是唯一缺少的東西。 – Baraphor