LUE42 Posted June 27, 2017 Report Share Posted June 27, 2017 Is there a way to script it so that when I hold a certain key, or hold down the middle mouse button, it makes the mouse can only move in horizontal directions - any vertical movement should be prohibited If there is no way to hold a key, can it be make as a toggle on/off that restricts up/down mouse movement? I found a way with AutoHotKey (here), but would much rather use MacroExpress as it is currently on the user's PC for other purposes already. Thanks Quote Link to comment Share on other sites More sharing options...
rberq Posted June 27, 2017 Report Share Posted June 27, 2017 I don't know about holding a key -- can't think how that would be done. But you might be able to toggle as follows; it is essentially the same solution as you came up with in AutoHotKey. 1) User starts Macro A with a keystroke (the toggle key). 2) Macro A runs Macro B and ends itself. 3) Macro B records current mouse position (A,B) (vertical component B is all that counts). Macro B then loops continuously (Repeat loop), with a very short delay in each iteration of the loop, a few milliseconds. Each time through the loop it resets the vertical component of mouse position to whatever the starting position was. That is, if current mouse position is found to be (x,y) the macro moves the mouse to (x,B). So the user is able to move the mouse both horizontally and vertically, but the vertical movement is almost instantly cancelled by Macro B. 4) User again starts Macro A with a keystroke (the toggle key). 5) Macro A determines that Macro B is already running, and stops Macro B. Worth a try, fairly simple to code. Don’t know what impact it will have on CPU usage due to the looping – probably OK. On my PC the resulting mouse movement is kind of choppy, which may or may not be acceptable to you. Variable Set String %T1% "2" Get Mouse Position Screen: %N1%, %N2% Repeat Until %T1% = "1" Get Mouse Position Screen: %N1%, %N3% Mouse Move Screen %N1%, %N2% Delay 1 Milliseconds Repeat End Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.