簡體   English   中英

C ++ Keyboard鍵碼和JAVA KeyEvent鍵碼之間的區別

[英]Difference between C++ Keyboard keycode and JAVA KeyEvent keycode

我注意到C ++中的vkCode提供的密鑰代碼與Java的KeyEvent給我們的密鑰代碼之間存在差異。 (當然,普通字符具有相同的代碼(0 => 48,就像ASCII一樣),但它們在其他鍵中不同)。 有沒有辦法將它們從一個“轉換”到另一個(每個背后的邏輯是什么?)或者我應該使用大量的開關和IF。 如果它有幫助,我的應用程序是C ++的一半和JAVA的一半,因為c ++給我們的Native Hooks,它獲取用戶按下的鍵的密鑰代碼,然后java將使用它們。

提前致謝。

或者我應該使用大量的開關和IF

您可以將它們放在查找表中 ,即將Java KeyCodes放在一個大型數組中,這樣您只需要執行javaKeyCode = keyLut[cppScanCode]

可以在此處找到一個掃描代碼列表,當然可以在KeyEvent的API文檔中找到VK_KEYCODES

Java被設計為獨立於平台,因此按下VK_LEFT ,無論掃描代碼VK_LEFT ,都將產生VK_LEFT 我不完全確定,但我認為C ++ - scancode是依賴於硬件的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM