我想用我的手機發送條形碼到我的電腦。我的電腦有一個簡單的服務器運行,它監聽條碼。當條形碼到達時,服務器應用程序應該能夠將接收到的條形碼的值輸入到活動應用程序中(我並不關心哪個應用程序將獲得輸入,用戶應該能夠選擇gedit,終端窗口或瀏覽器如果他們選擇)。從java(或其他平臺)發送字符串到應用程序
我的語言目前是GNU/Linux(Ubuntu)上的Java,所以我知道Robot類。但是Robot類模擬鍵盤,這意味着:當您在美國鍵盤佈局上發送VK_1時,確實輸出爲'1',但是當您在另一個佈局(比如我使用的比利時語)上發送VK_1時,需要進行移位'1'鍵,輸出'&'(這是'1'鍵上的字符,當你沒有按住Shift鍵時)。
我也發現了xsendkeys,但是這個應用程序也要求你指定是否需要保持移位。所以它可以發送一個'a',但是發送一個'A'(因此大寫),你需要指定你想用你的'a'進行轉換。
是不是一個簡單的方法來做到這一點,對於GNU/Linux和Windows,只是使用字符串。我希望能夠將「12a68dd」發送到活動應用程序。我也希望能夠將UTF-8字符發送到活動應用程序。
我一直在尋找一個解決方案,但大多數需要按鍵擊穿,這往往取決於鍵盤佈局。
跟進:因爲做這件事並不容易,定製鍵盤內核模塊會是一個更簡單的解決方案嗎?我想不是,但編碼起來可能很有趣。但是再次,在學校他們告訴我們:內核模塊可以燒你的CPU。 (不知道這是否是真的,或者你是否真的有這種感覺)所以我不太願意這樣做。 – MrSnowflake 2010-03-10 22:19:35