2012-05-09 36 views

回答

5

這不適用於Java。

但有些第三方工具可以重新映射鍵盤的按鍵。 HID macros是一個應用程序。但它只能用於按鍵,而不是按鍵和按鍵事件。這限制了它的用處,但對於你的用例可能已經足夠了。

如果你想深入挖掘,你需要在Windows上使用RAW Input API來做你想做的事情。在代碼項目Using Raw Input from C# to handle multiple keyboards上已經有一個很好的例子,它闡明瞭正確的API使用情況。

+0

我會投這個答案,但我缺乏15這樣做的聲譽。 – user1383359

+0

哈哈,沒關係。感謝您接受它。希望解決方案適合你。 – Simon

4

我可能來不及回答,因爲這個問題是舊的。但既然我在這裏尋找相同的要求,我就會提到一個解決方案,我在另一個線索上找到了一些解決方案,以便將來在這裏指導的人們尋求幫助,尋求相同需求的幫助。 @nan給出了一個使用java-hid-api的解決方案,你可以找到他的答案here。他還寫了一篇關於如何做in his blog的清晰步驟帖子。

但是我必須說,我試過這個但仍然沒有成功,因爲HIDManager在試圖通過路徑或ID打開HID時返回null。使用HIDDeviceInfo嘗試open()時也是如此。此問題也在java hid api page中列出,但目前爲止似乎還沒有人能夠提供可行的解決方案。所以如果有人能夠繞過這個問題。請分享。

+0

如果您在Windows上運行,那麼您無法打開HID鍵盤的原因是因爲操作系統將打開所有HID鍵盤以供*獨佔使用*。請參閱此MSDN文章以供參考。 https://msdn.microsoft.com/en-us/library/windows/hardware/jj128406%28v=vs.85%29.aspx。根據不同Java HID實現的README,上述問題的解決方法是繞過HID並轉到較低級別的USB API。 https://github.com/gary-rowe/hid4java。 – HairOfTheDog