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

"Mouse Jump" for ultra-wide monitors #23216

Closed
mikeclayton opened this issue Jan 8, 2023 · 7 comments
Closed

"Mouse Jump" for ultra-wide monitors #23216

mikeclayton opened this issue Jan 8, 2023 · 7 comments
Assignees
Labels
Idea-New PowerToy Suggestion for a PowerToy Resolution-Fix Committed Fix is checked in, but it might be 3-4 weeks until a release.

Comments

@mikeclayton
Copy link
Contributor

mikeclayton commented Jan 8, 2023

Description of the new feature / enhancement

First off, apologies if similar functionality is already in PowerToys somewhere - I looked but couldn't see anything...

The proposed feature (working title FancyMouse or "Mouse Jump") would register a Windows HotKey combination that, when activated, displays a window at the current mouse location with a clickable thumbnail screenshot of the entire desktop - when it's clicked the mouse pointer is moved to the location clicked in the thumbnail.

Background: I started using an ultrawide 5120x1440 external monitor with my laptop recently and got fed up with constantly swiping the physical mouse side-to-side across my desk to move the pointer from one side of the screen to the other, so I wrote a POC of this functionality that I use all the time now - see video below:

FancyMouse.mp4

and here's an animation that shows it in more detail:

fancy

I've customised my Logitech mouse software to assign the HotKey combination to a spare thumb button on my mouse, so now I can jump the pointer anywhere on my desktop with 2 button clicks - one to activate the hotkey and one to click the thumbnail and jump the pointer.

I Imagine integrating the concept into PowerToys would require a ground-up rewrite of the feature, but I've found my POC so useful (without wanting to sound like I'm blowing my own trumpet :-)) that I wanted to offer the idea up for consideration.

Happy to share the POC repo if it sounds useful to play with to try the proposed feature out...

Scenario when this would be used?

This feature would be most useful for any workstation setup that has an ultrawide monitor, or multiple monitors configured in a large screen estate, but could be used on any setup to move the mouse quickly to specific desktop locations.

Traditionally, moving across a large screen estate requires repeated "swiping" of the physical mouse - moving it to the edge of its available bounds, lifting it and moving back to the opposite bound repeatedly until the pointer has moved to the desired location. This is slow, and it's often hard to track the mouse without losing it on the screen.

The proposed FancyMouse / "Mouse Jump" feature allows the pointer to be moved anywhere on the desktop with a couple of mouse clicks very quickly with high precision and without losing its resting position.

Supporting information

Personal experience of using my POC tool leads me to believe this would improve the user experience on large screen setups - I have it running in the background permanently and although it took a while to learn the muscle memory on the spare mouse button, I use it for most large mouse moves now without even thinking.

There are numerous tools and utilities, support forum questions, etc that cover requirements like wanting to "snap" the mouse to a specific application or a specific monitor to reduce the amount of time and effort required to "swipe" the mouse to the desired location, so there's a demand for this type of feature in general.

Showing a thumbnail of the entire desktop allows the user to move the pointer a very small amount across the thumbnail to cover scenarios like "snap to application" and "snap to monitor" as well as move the pointer to arbitrary locations on the desktop with good accuracy.

@mikeclayton mikeclayton added the Needs-Triage For issues raised to be triaged and prioritized by internal Microsoft teams label Jan 8, 2023
@mikeclayton mikeclayton changed the title Feature proposal - FancyMouse / "Mouse Jump" for ultra-wide monitors Feature proposal (with POC) - FancyMouse / "Mouse Jump" for ultra-wide monitors Jan 8, 2023
@Aaron-Junker Aaron-Junker added the Idea-New PowerToy Suggestion for a PowerToy label Jan 11, 2023
@crutkas
Copy link
Member

crutkas commented Jan 13, 2023

Neat, @mikeclayton i sent you an email.

@mikeclayton
Copy link
Contributor Author

@crutkas - replied :-)

@imthenachoman
Copy link

This. Is. Awesome!

@crutkas crutkas changed the title Feature proposal (with POC) - FancyMouse / "Mouse Jump" for ultra-wide monitors "Mouse Jump" for ultra-wide monitors Jan 17, 2023
@crutkas crutkas removed the Needs-Triage For issues raised to be triaged and prioritized by internal Microsoft teams label Jan 17, 2023
mikeclayton added a commit to mikeclayton/PowerToys that referenced this issue Jan 23, 2023
mikeclayton added a commit to mikeclayton/PowerToys that referenced this issue Jan 24, 2023
@Aaron-Junker Aaron-Junker added the Status-In progress This issue or work-item is under development label Jan 24, 2023
mikeclayton added a commit to mikeclayton/PowerToys that referenced this issue Jan 25, 2023
mikeclayton added a commit to mikeclayton/PowerToys that referenced this issue Jan 25, 2023
mikeclayton added a commit to mikeclayton/PowerToys that referenced this issue Jan 25, 2023
mikeclayton added a commit to mikeclayton/PowerToys that referenced this issue Jan 25, 2023
mikeclayton added a commit to mikeclayton/PowerToys that referenced this issue Jan 26, 2023
mikeclayton added a commit to mikeclayton/PowerToys that referenced this issue Feb 1, 2023
mikeclayton added a commit to mikeclayton/PowerToys that referenced this issue Feb 1, 2023
mikeclayton added a commit to mikeclayton/PowerToys that referenced this issue Feb 1, 2023
mikeclayton added a commit to mikeclayton/PowerToys that referenced this issue Feb 2, 2023
mikeclayton added a commit to mikeclayton/PowerToys that referenced this issue Feb 7, 2023
mikeclayton added a commit to mikeclayton/PowerToys that referenced this issue Feb 7, 2023
mikeclayton added a commit to mikeclayton/PowerToys that referenced this issue Feb 7, 2023
mikeclayton added a commit to mikeclayton/PowerToys that referenced this issue Feb 9, 2023
@crutkas
Copy link
Member

crutkas commented Feb 13, 2023

xref #984

jaimecbernardo pushed a commit that referenced this issue Feb 24, 2023
* #23216 - initial MouseJump commit

* #23216 - Mouse Jump - fix spelling, removing Interop folder

* #23216 - Mouse Jump - removed orphaned project guids from PowerToys.sln

* #23216 - Mouse Jump - removed orphaned project guids from PowerToys.sln

* #23216 - Mouse Jump - switch MS Logger to NLog for nuget package allow-listing

* #23216 added MouseJumpUI.UnitTests.dll to "MS Tests" step in build-powertoys-steps.yml

* [MouseJump] fixed screenshot coords (x & y were transposed) (#23216)

* [MouseJump] close form rather than hide on deactivate (#23216)

* [MouseJump] added UI dll for signing (#23216)

* [MouseJump] close form rather than hide on deactivate (#23216)

* [MouseJump] removed redundant line

* [MouseJump] configure dpi awareness, add NLog.config (#23216)

* [MouseJump] fix spellchecker errors (#23216)

* [MouseJump] fixing comment style warning (#23216)

* [MouseJump] simplified dpi config (#23216)

* [MouseJump] fixed edge case issue with moving cursor (#23216)

* [MouseJump] fixed typo (#23216)

* [MouseJump] added attribution (#23216)

* [Mouse Jump] fix attribution link and spelling (#23216)

* Add MouseJump to installer

* Fix centralized version control

* Add Quick Access enable/disable entry

* Fix analyzer error in GPO

* Fix botched merge

* Disabled by default and remove boilerplate code

* Add GPO definitions

* Add GPO implications when starting standalone

* Update hotkey when it's changed in Settings

* Use standard Logger

* Add OOBE strings for Mouse Jump

* Add telemetry

* Update installer

* Add signing

* Add to bug report tool

* Address PR feedback
@Jay-o-Way Jay-o-Way added Resolution-Fix Committed Fix is checked in, but it might be 3-4 weeks until a release. and removed Status-In progress This issue or work-item is under development labels Feb 28, 2023
@imthenachoman
Copy link

Is it possible to set the size of the jump window? For me, it's still pretty large and still requires a lot of mouse movement.

@crutkas
Copy link
Member

crutkas commented Mar 5, 2023

Great feature request!

@crutkas
Copy link
Member

crutkas commented Mar 24, 2023

added in 0.68

@crutkas crutkas closed this as completed Mar 24, 2023
BLM16 pushed a commit to BLM16/PowerToys that referenced this issue Jun 22, 2023
* microsoft#23216 - initial MouseJump commit

* microsoft#23216 - Mouse Jump - fix spelling, removing Interop folder

* microsoft#23216 - Mouse Jump - removed orphaned project guids from PowerToys.sln

* microsoft#23216 - Mouse Jump - removed orphaned project guids from PowerToys.sln

* microsoft#23216 - Mouse Jump - switch MS Logger to NLog for nuget package allow-listing

* microsoft#23216 added MouseJumpUI.UnitTests.dll to "MS Tests" step in build-powertoys-steps.yml

* [MouseJump] fixed screenshot coords (x & y were transposed) (microsoft#23216)

* [MouseJump] close form rather than hide on deactivate (microsoft#23216)

* [MouseJump] added UI dll for signing (microsoft#23216)

* [MouseJump] close form rather than hide on deactivate (microsoft#23216)

* [MouseJump] removed redundant line

* [MouseJump] configure dpi awareness, add NLog.config (microsoft#23216)

* [MouseJump] fix spellchecker errors (microsoft#23216)

* [MouseJump] fixing comment style warning (microsoft#23216)

* [MouseJump] simplified dpi config (microsoft#23216)

* [MouseJump] fixed edge case issue with moving cursor (microsoft#23216)

* [MouseJump] fixed typo (microsoft#23216)

* [MouseJump] added attribution (microsoft#23216)

* [Mouse Jump] fix attribution link and spelling (microsoft#23216)

* Add MouseJump to installer

* Fix centralized version control

* Add Quick Access enable/disable entry

* Fix analyzer error in GPO

* Fix botched merge

* Disabled by default and remove boilerplate code

* Add GPO definitions

* Add GPO implications when starting standalone

* Update hotkey when it's changed in Settings

* Use standard Logger

* Add OOBE strings for Mouse Jump

* Add telemetry

* Update installer

* Add signing

* Add to bug report tool

* Address PR feedback
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Idea-New PowerToy Suggestion for a PowerToy Resolution-Fix Committed Fix is checked in, but it might be 3-4 weeks until a release.
Projects
Status: Done
Development

No branches or pull requests

5 participants