Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bijective Mapping #49

Open
onlycparra opened this issue Jan 31, 2025 · 0 comments
Open

Bijective Mapping #49

onlycparra opened this issue Jan 31, 2025 · 0 comments

Comments

@onlycparra
Copy link

Hello.

First of all, thank you so much for this tool. This "mouse issue" is the only thing that keeps my i3wm setup away from perfect (for me).

Setup

This is my screen setup:

  • On the Left: DP-1 connected 2160x3840+0+0 rotated right
  • On the Right: DP-2 connected 3840x2160+2160+840

So they look like this (I am marking mouse positions with numbers):

+---------+
| 5      1|
|         |
|         +---------------+
|        3|2              |
|  left   |     right     |
|         |             4 |
|         +---------------+
|         |
|         |
+---------+

The Problem

I see the magic when the mouse is in 1 and I move it to the right. It gets teleported (warped) to 2. However, when I am in 2, and I move it to the left, the mouse appears in 3 rather than 2. Which is, in my opinion, counterintuitive. If I am in 1, and move a couple of pixels right, and then left, I end up 860 pixels south of my original position.

If the mouse is in the right screen (say, in 4), and I want to reach something in the neighborhood of position 1, the thinking is not:
"move the mouse to 2, which is logically close to 1". Instead, the thinking becomes "move the mouse to 2, then move it up".

The options closest/relative does not help here, as they seem to control the landing point from 1 to 2. But apparently there is no intervention of the tool when the edges do overlap.

In few words, the edge mapping is not bijective.

Proportional (Bijective) Mode

Is there a chance to get some sort of "full edge proportional match" mode? Conceptually, it would create something like this:

+---------+
|       1a| \
|         |  \
|         |   +---------------+
|         |   |1b             |
|left   2a|   |2b       right |
|         |   |3b             |
|         |   +---------------+
|         |  /
|       3a| /
+---------+

Where moving in both directions, points 1, 2, and 3 match with their corresponding in the other screen.

Thanks again for the hard work and talent that you have shared with us.

@onlycparra onlycparra changed the title Warping is happening in only one direction. Bijective Mapping Jan 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant