On Thu, 23 Jan 2025 23:46:04 GMT, Alisen Chung <ach...@openjdk.org> wrote:
>> Currently on macOS when mouseMove is given an offscreen coordinate to move >> the mouse to, mouseMove will physically clamp to the edge of the screen, but >> if you try to grab the mouse location immediately after by using >> MouseInfo.getPointerInfo().getLocation() you will get the value of the >> offscreen point. >> >> Windows and linux do this clamping and coordinate handling for us, but new >> distributions may not necessarily handle clamping the same way, so Robot >> should be checking for clamping rather than delegating it to native. >> >> This fix updates shared code to cache the screen bounds and adds a check to >> not exceed the bounds in mouseMove. The caching is done in the Robot >> constructor, so if the screen bounds changes the constructor must be called >> again to update to the new bounds. > > Alisen Chung has updated the pull request incrementally with one additional > commit since the last revision: > > robot multimonitor fix src/java.desktop/share/classes/java/awt/Robot.java line 269: > 267: * <p> > 268: * It is allowed to use only a combination of valid > values as a {@code buttons} parameter. > 269: * A valid combination consists of {@code > InputEvent.BUTTON1_DOWN_MASK}, Spacing looks off here as well. src/java.desktop/share/classes/java/awt/Robot.java line 323: > 321: * > 322: * @param buttons the Button mask; a combination of one or more > 323: * mouse button masks. Spacing looks off on javadocs ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/22781#discussion_r1927916121 PR Review Comment: https://git.openjdk.org/jdk/pull/22781#discussion_r1927915281