我知道java中的Robot类用于生成Inputevents
,例如mouseMove
,press
和release
以及keyevents
,我只知道功能,即如果我调用mouseMove(x,y)
mousepointer将移动到(x,y)
位置。我不知道,实际上里面发生了什么,JVM
与os交互的步骤是什么移动鼠标指针和其他事件?
答案 0 :(得分:1)
Java库的优点是a lot of it is opensource。快速浏览一下就可以看出,在Unix-ish平台上,它创建了一个XToolkit
,然后与X11库进行了很多接口,以发送键盘和鼠标事件。
特别是,所有事件最终都会分派到sun.awt.X11.XRobotPeer,然后awt_Robot.c将它们发送给{{3}},{{3}}然后调用各种X11函数来生成特定事件。