我想用我的手机发送条形码到我的电脑。我的电脑有一个简单的服务器运行,它监听条码。当条形码到达时,服务器应用程序应该能够将接收到的条形码的值输入到活动应用程序中(我并不关心哪个应用程序将获得输入,用户应该能够选择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