|
majorspacecase
|
 |
« on: December 10, 2008, 11:28:50 AM » |
|
I have dual Mitsubishi "Diamond Pro" 930sb 17" monitors ($5 each from the local Sheriff's Boys Ranch Thrift Store  ). Invariably I'll need to use the mouse to do something, only to find the cursor is on the other screen. So my idea, a "Cursor Wormhole". Hit a hotkey (for me the 'Pause/Break' key would be ideal) and the cursor would vanish from one screen and reappear centered on the other screen. Sounds simple, but don't know how difficult implementation would be. If doable 'Dot Hamn', If not 
|
|
|
|
|
Logged
|
Who Cares II
|
|
|
|
BigJim
|
 |
« Reply #1 on: December 10, 2008, 12:36:23 PM » |
|
I either don't understand the question or don't understand the problem. If both monitors are connected to one (Windows) computer you should be able to just configure the display properties appropriately and move all around both monitors as though they were one. If they're on two different computers then you need Input Director. It's fee and it's fantastic!
|
|
|
|
|
Logged
|
TruckerJim says "You can go down a hill too slow a thousand times. But too fast only once."
|
|
|
|
majorspacecase
|
 |
« Reply #2 on: December 10, 2008, 01:18:11 PM » |
|
It's not a problem, it's an inconvenience. My setup is fine, both monitors act as one wide screen (2560 x 1024 pixels), Mouse properties are configured to my liking. But using my trackball to physically move the cursor across all that real estate takes time (5 rolls of the thumb from the left edge of monitor 1 to the right edge of monitor 2, multiply by the dozens of times a day I have get the cursor from one screen to the other) that could be used more productively.
|
|
|
|
|
Logged
|
Who Cares II
|
|
|
|
|
BigJim
|
 |
« Reply #3 on: December 10, 2008, 01:52:52 PM » |
|
Ah! OK, I get it now. Seems to me that I once saw a utility that did what you want. But can't find/recall it now. Big help, right! This sounds like a job for our ace utility maker Skrommel. Do you have the ballistic setting on your mouse properties set fairly high? If so, a quick "flick" of the trackball might throw the cursor to the other screen.
|
|
|
|
|
Logged
|
TruckerJim says "You can go down a hill too slow a thousand times. But too fast only once."
|
|
|
|
majorspacecase
|
 |
« Reply #4 on: December 10, 2008, 02:40:25 PM » |
|
I'd tried with ballistic settings at max, still takes 3 rolls to cross. Also that setting is just to touchy for normal use.
I also thought I'd run across just such a utility myself. But hours of search results dealing with "mouse cursor jumping errors", I'd decided to post here where the "Zen Mac Daddies of Coding" hang.
|
|
|
|
|
Logged
|
Who Cares II
|
|
|
|
AndyM
|
 |
« Reply #5 on: December 11, 2008, 09:19:54 PM » |
|
this s/b easy with a very short autohotkey script if nobody has posted one here by tomorrow, I will,or say it wasn't as easy as I thought 
|
|
|
|
|
Logged
|
|
|
|
|
kwacky1
|
 |
« Reply #6 on: December 12, 2008, 06:30:31 AM » |
|
New! MouseCursorWormhole 2007
Now with advanced CoordMode function.
Install: Extract, Run Usage: Press Pause/Break and the Mouse with instantly appear in the center of the opposite monitor. Right click Tray Icon to exit.
|
|
|
« Last Edit: December 14, 2008, 11:50:41 PM by kwacky1 »
|
Logged
|
|
|
|
|
majorspacecase
|
 |
« Reply #7 on: December 12, 2008, 12:15:49 PM » |
|
Thanks 'kwacky1'.
Just took it for a test run.
Works fine when going from the right hand screen (monitor #2) to the left hand screen (monitor #1), cursor jumps centered top to bottom & at about ¼ of the way from the left edge of monitor #1.
Trying to jump the cursor from monitor #1 to monitor #2 (left to right), this is what happens; 1. if the cursor is in the left half of monitor #1, then the cursor jumps to about ¾ position on monitor #1. 2. If the cursor is in the right half of monitor #1, then the cursor jumps back to the ¼ position on monitor #1.
If you need more info on my system specs just ask and again thanks for work.
|
|
|
|
|
Logged
|
Who Cares II
|
|
|
|
kwacky1
|
 |
« Reply #8 on: December 13, 2008, 05:46:37 AM » |
|
Fixed! Post above updated with New Version.
Have fun.
|
|
|
|
|
Logged
|
|
|
|
|
majorspacecase
|
 |
« Reply #9 on: December 13, 2008, 07:26:35 AM » |
|
Still not working when trying to jump from monitor #1 to Monitor #2.
Now no matter where the cursor is on ether monitor it jumps to centered on monitor #1.
If it make things easier we could try using two hotkeys, say 'scroll lock' to jump to Monitor #1 and 'pause|break' to jump to monitor #2.
Still a great effort, thanks.
|
|
|
|
|
Logged
|
Who Cares II
|
|
|
|
kwacky1
|
 |
« Reply #10 on: December 13, 2008, 09:01:35 AM » |
|
dagnabit! I had it working perfectly on my little test rig here (laptop at 1280x800 with monitor at 1280x1024), i even found it useful because I was using the trackpad on the laptop. Ok, so I've uploaded a new version, but I've made no changes to the functionality, this one will generate a MouseCursorWormhole.log file in your temp directory (start->run->%temp%), if you could please grab the last version run 'er up and paste a copy of the resulting log file here, that would be grand. I just need to make sure my script can see your monitors, otherwise it's back to the drawing board. 
|
|
|
|
|
Logged
|
|
|
|
|
majorspacecase
|
 |
« Reply #11 on: December 13, 2008, 11:05:13 AM » |
|
Here's the log file. Looked at the log myself, you're right the script only sees 1 monitor.
Maybe a little more info on my system would help.
Graphic Card: MSI NX8400GS TD512E with Nvidia GeForce 178.24 dirvers. Running in 'Dual View' mode.
Also ran Autohotkeys 'AutoIt3 Window Spy' and going by the 'on screen' mouse position read out, it just sees both monitors as 1 big screen (2560 x 1024).
It'd be simpler if the mouse position could be expressed by a percentage of the screen real estate.
|
|
|
|
Logged
|
Who Cares II
|
|
|
|
kwacky1
|
 |
« Reply #12 on: December 13, 2008, 07:58:54 PM » |
|
I never thought to ask, what OS are you using?
I'm using WMI (Select * From Win32_DesktopMonitor) to get the details of each monitor.
I had expected that Au3 Window Spy would see the desktop as one big space, that's what was wrong in my first script.
|
|
|
|
|
Logged
|
|
|
|
|
majorspacecase
|
 |
« Reply #13 on: December 13, 2008, 08:27:58 PM » |
|
Using XP SP3.
|
|
|
|
|
Logged
|
Who Cares II
|
|
|
|
kwacky1
|
 |
« Reply #14 on: December 13, 2008, 10:42:49 PM » |
|
Well I'm pretty sure the new one will work, re-written from the ground up. My second ever AHK script, enjoy.
|
|
|
|
|
Logged
|
|
|
|
|
majorspacecase
|
 |
« Reply #15 on: December 14, 2008, 12:19:01 AM » |
|
Looks like that nailed it. Working great  Many thanks. Now to add it to my startup folder. This will definitely save quite a few minutes and rolls of the thumb a day.
|
|
|
|
|
Logged
|
Who Cares II
|
|
|
|
majorspacecase
|
 |
« Reply #16 on: December 14, 2008, 08:30:41 AM » |
|
Okay, had a chance to play around a little this morning. It's not quite ready for prime time yet.
Seeing some behavior variations with certain programs.
Here's a breakdown of the programs I've run across so far: Spider media player uTorrent AIMP2 media player IrFan View PDF X-change Adobe Reader Win32Pad (maximized and windowed) Cursor jumps to left edge of monitor #2.
Splash Screens Dialouge Boxes VLC Media Player (windowed) Media Player Classic (windowed) Cursor jumps down and to the left varied distances.
Win32Pad (minimised) Cursor jumps to bottom left corner of monitor #2.
That's what I've found so far. As I use these programs all the time, looks like I'll hold off on adding this to the startup for the time being.
|
|
|
|
|
Logged
|
Who Cares II
|
|
|
|
Nod5
|
 |
« Reply #17 on: December 14, 2008, 09:37:53 AM » |
|
Hi, this autohotkey script works fine on my two screen setup: [ copy or print] Pause:: SysGet, MonitorCount, MonitorCount if MonitorCount = 2 { BlockInput, MouseMove MouseGetPos, x SysGet, Mon2, Monitor, 2 if x > %A_ScreenWidth% MouseMove, (A_ScreenWidth / 2), (A_ScreenHeight / 2), 0 else MouseMove, A_ScreenWidth + ( (Mon2Right - Mon2Left) / 2 ), ( Mon2Bottom / 2 ), 0 BlockInput, MouseMoveOff }
|
|
|
|
|
Logged
|
|
|
|
|
majorspacecase
|
 |
« Reply #18 on: December 14, 2008, 03:57:30 PM » |
|
Nice script Nod5, but it has the almost the exact same quirks as I posted above for kwacky1's.
|
|
|
|
|
Logged
|
Who Cares II
|
|
|
|
skrommel
|
 |
« Reply #19 on: December 14, 2008, 07:45:11 PM » |
|
 Try MultiMonMouseMove! - Press F1 to move the mouse the center of the next screen Skrommel [ copy or print] ;MultiMonMouseMove.ahk ; Press F1 to move the mouse the center of the next screen ;Skrommel #SingleInstance,Force #NoEnv F1:: CoordMode,Mouse,Screen MouseGetPos,mx,my SysGet,monitors,MonitorCount Loop,% monitors { current:=A_Index SysGet,monitor,Monitor,%current% If (mx>=monitorLeft And mx<=monitorRight And my>=monitorTop and my<=monitorBottom) Break } current+=1 If (current>monitors) current=1 SysGet,monitor,Monitor,%current% MouseMove,% monitorLeft+(monitorRight-monitorLeft)/2,% monitorTop+(monitorBottom-monitorTop)/2 Return
|
|
|
|
|
Logged
|
|
|
|
|
majorspacecase
|
 |
« Reply #20 on: December 14, 2008, 08:35:02 PM » |
|
Well ran the script, then opened each of the problem programs one at a time and then all of them at once. Lo and behold, not a single hiccup. Way to go skrommel
|
|
|
|
|
Logged
|
Who Cares II
|
|
|
|
mouser
|
 |
« Reply #21 on: December 14, 2008, 11:03:26 PM » |
|
nice team work from everyone 
|
|
|
|
|
Logged
|
|
|
|
|
kwacky1
|
 |
« Reply #22 on: December 14, 2008, 11:41:22 PM » |
|
Well you certainly do learn something new everyday, here's a fixed version of MouseCrusorWormhole for the record. [ copy or print] Pause::TransportCursor() TransportCursor() { CoordMode,Mouse,Screen SysGet, VirtualWidth, 78 SysGet, VirtualHeight, 79 ; MsgBox, Right:`t%VirtualWidth%`nBottom:`t%VirtualHeight% MouseGetPos, xpos, ypos ; Msgbox, The cursor is at X%xpos% Y%ypos%. If ( xpos > (VirtualWidth / 2) ) { MouseMove, VirtualWidth / 4, VirtualHeight / 2, 0 } else { MouseMove, (VirtualWidth / 4) * 3, VirtualHeight / 2, 0 } }
|
|
|
|
« Last Edit: December 14, 2008, 11:42:59 PM by kwacky1 »
|
Logged
|
|
|
|
|
Nod5
|
 |
« Reply #23 on: December 15, 2008, 03:27:19 AM » |
|
Leaving this out was the problem with my script I think. For that I should receive the Noobel Price.  I'm glad that majorspacecase in the end got a version working as envisioned. 
|
|
|
|
|
Logged
|
|
|
|
|
kwacky1
|
 |
« Reply #24 on: December 15, 2008, 05:57:17 AM » |
|
Hi Nod5, Same mistake I made, and considering it's the second time I've ever looked at AHK, I wouldn't mind a Noobel Prize either 
|
|
|
|
|
Logged
|
|
|
|
|