Java 机器人:发送带有位置的键,例如右键移动或右键ctrl
我想使用Java 机器人:发送带有位置的键,例如右键移动或右键ctrl,java,keyboard,virtual,awtrobot,Java,Keyboard,Virtual,Awtrobot,我想使用java.awt.Robot类来实现一个虚拟键盘。我想知道是否有办法使用keyPress(int)方法发送带有按键位置(左或右)的按键代码。如果向awt元素添加KeyListener,则由ctrl或shift触发的KeyEvent会显示一条信息,说明它是左键还是右键 这些文件告诉我们: 具有多个与其关联的物理键的键代码(例如,KeyEvent.VK_SHIFT可能表示左键或右键)将映射到左键” 但是,真的没有办法发送按下右移键的命令吗?有些应用程序(例如VirtualBox)需要这些正确
java.awt.Robot
类来实现一个虚拟键盘。我想知道是否有办法使用keyPress(int)
方法发送带有按键位置(左或右)的按键代码。如果向awt元素添加KeyListener
,则由ctrl或shift触发的KeyEvent
会显示一条信息,说明它是左键还是右键
这些文件告诉我们:
具有多个与其关联的物理键的键代码(例如,KeyEvent.VK_SHIFT
可能表示左键或右键)将映射到左键”
但是,真的没有办法发送按下右移键的命令吗?有些应用程序(例如VirtualBox)需要这些正确的按钮(当然,您可以配置这些应用程序,但虚拟键盘没有这个选项)
那么…有没有办法用机器人类来实现这一点?
是否有其他方法可以在Java中发送更具体的密钥事件?经过更多搜索后,我目前认为Java.awt.Robot
可能不是正确的选择。发送特殊密钥(如jvm中没有密钥代码助理的德语umlauts)时存在已知问题
因此,我自己回答这个问题时说“没有办法用Robot
类来完成它”。经过更多的搜索,我目前认为java.awt.Robot
可能不是正确的选择。发送特殊密钥(如在jvm中没有密钥代码助手的德语umlauts)时存在已知的问题
所以我自己回答这个问题时说“没有办法用机器人
类来完成它”。我不确定你是否真的想知道它(丑陋、肮脏、代码太多),但我知道使用Synergy()。synergy客户端连接到我的java实例。java实例然后发送synergy数据包。我使用wireshark检查了synergy流量,因为我没有发现任何协议规范…主要问题是我必须将每个键或鼠标事件映射到synergy事件(未找到自动解决方案)…而且键盘上有很多键;)仍然找不到基于Java的解决方案。我不确定您是否真的想知道它(丑陋、肮脏、代码太多),但^^^我知道使用Synergy()。synergy客户端连接到我的java实例。java实例然后发送synergy数据包。我使用wireshark检查了synergy流量,因为我没有发现任何协议规范…主要问题是我必须将每个键或鼠标事件映射到synergy事件(未找到自动解决方案)…而且键盘上有许多键;)仍然找不到基于Java的解决方案。