2013-07-15 30 views
4

我目前有一個PS1控制器會通過我的Arduino發送消息到Java程序,然後讀取它們並使用Robot按下正確的鍵。問題在於Robot類無法將按鍵發送到大多數應用程序,因此不會將按鍵發送到我想用PS1控制器控制的遊戲。如何在不使用機器人的情況下在硬件級別模擬鍵盤按鍵?我以前曾嘗試讓它運行一個Visual Basic腳本,它工作,但是太慢了。有沒有什麼辦法可以純粹在java中做到這一點?模擬Java中沒有機器人的硬件按鍵

+2

你可以使用JNA或JNI來做到這一點。 – BevynQ

+0

@BevynQ這怎麼可能完成?經過Google搜索之後,我只想出了'使用機器人' – Quaggles

+0

我假設你的vbscript正在打一些窗口呼叫?你可以用JNA來做到這一點。儘管在C#中執行此操作可能會更容易。 – BevynQ

回答

0

Java Native Access(JNA)支持使用Pure Java訪問操作系統的本機級別。您可以訪問JNA項目here

此外,我找到了一個使用JNA鉤住硬件鍵盤來聽按鍵的示例。我認爲this是你在找什麼。

如果它不是你正在尋找的,那麼你絕對可以通過參考和實現自己的。

+0

感謝您的幫助。我想我已經決定讓Java從C++程序調用本地函數。在狩獵了一段時間後,我無法確定JNA是否可以執行必要的功能。 – Quaggles