I have a MacBook Pro 2018 with Catalina (1920x1080px) and a 2nd external monitor (3440x1440px) arranged as below in Displays. I understand that there are scale options to change the resolutions but I don't want to actually scale them because then I lose screen width and height.

Currently the mouse can only move between the connected edges of the two screens. It stops if I try to move it down on the right half of the larger screen.

What I would like to do is move the mouse proportionally so the mouse can move smoothly between the screens without stopping one half. I could see this working two ways

  1. The simpler solution would be for the mouse to consider the last 1520 pixels of the larger screen to be all above the edge of the smaller screen so if you move down, the mouse just moves to the right side of the smaller screen. (I feel like this is simpler anyway, no idea)
  2. The other better solution would be for the mouse to associate every 1.79 pixel column with a pixel column below. This way when you move down at pixel 1790 on the large screen, it ends up at pixel 1000 on the small screen.

Are there any apps or tools that can accomplish either or both options?

Mac Displays with one large 3440x1440 screen on top of a smaller 1920x1080 screen

As an example, here are two Windows apps that seems similar to what I want:

So at the very least, this seems possible

3 Answers 3


Try cursr, it's new, probably more features coming out soon, I've been using it on mac, works so far.

You can also request new features, it has link to git in 'issues' section at the bottom. Small downside is that it's larger in size (but on desktop I dont see it as an issue), but that's entirely due to it being built with electron, for cross-platform support.


Haven't come across any tools that do what you've described out of the box. That said, if the goal is to move the cursor to another screen or more generally to control the cursor, I'd say check out BetterTouchTool as it allows you to "warp" your mouse position. Alternatively, if you're willing to write some Lua, I'd say take a look at Hammerspoon.


Currently the mouse can only move between the connected edges of the two screens.

This is by design.

What I would like to do is have one essentially fake being scaled so the mouse can move smoothly between the screens without stopping one half.

You can't fake anything because that's not how things work. Scaling is related to how the video resolution is displayed. Your mouse is tracked on an [X,Y] coordinate system for each display. Your lower (smaller) screen only being half as wide cannot be "faked" so the mouse thinks it's 2X from where it actually is.

For example, if it were possible, then if you happened to be at [1,1080] (bottom left) on the upper screen, your fakery would mean as you moved to the lower, you'd be on [2,0] (top left) on the lower. If you were to implement this to make your screens line up where they don't they actually wouldn't line up where they do.

  • 1
    So maybe it's not scaling I want but smarter mouse movement. But your second paragraph doesn't point out a problem with this idea, it's only stating that it would be different than the current behavior. Is there an actual problem with this idea / would it cause other problems or is the problem that no current solution exists for this idea? Sep 9, 2020 at 20:07
  • My second paragraph is a hypothetical to illustrate the inconsistency of behavior. The most cannot dynamically The its acceleration
    – Allan
    Sep 9, 2020 at 21:24
  • 1
    Yes, I understand it would be inconsistent, but that's only if you want the pixels to line up exactly. If that's what you want, that's fine. But as demonstrated by the examples I linked to, this "mouse move scaling" is both achievable and something other people want. So your example doesn't actually counter my question and only provides another example of what I want to happen. Sep 10, 2020 at 0:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .