Jump to content
Macro Express Forums

Resetting Keystroke Speed for only some windows


jmazor
 Share

Recommended Posts

I use a ton of shortkeys for text abbreviations. Problem is that in one window of one program, ME is just too fast.

 

I have inserted an "IF _____ Window Active, then Run Keystroke Delay Macro" statement in a few of the macros, so, when the shortkey is triggered, it checks to see if this problem window is active. If so, it runs the little macro that contains the keystroke delay command and then types out the text. Else it just types out the text. That works fine.

 

Does anyone have any suggestion as to how to either:

 

a. Set some global ME setting so that whenever that particular window is active, any shortkey automatically runs with the keystroke delay; or,

 

b. Some nifty way to insert the "If _______ Window Active, then Run Keystroke Delay Macro" lines as the first lines in 150 or more macros?

 

Thanks,

 

Jeffrey R. Mazor, Esq.

J. R. Mazor & Associates, P.A.

Presidential Circle Building

4000 Hollywood Blvd., Suite 265-s

Hollywood, FL 33021

Phone: 954-962-3500

Fax: 954-962-3560

Email: JMazor@Mazor.com

Link to comment
Share on other sites

I use a ton of shortkeys for text abbreviations. Problem is that in one window of one program, ME is just too fast.

Does anyone have any suggestion as to how to either:

b. Some nifty way to insert the "If _______ Window Active, then Run Keystroke Delay Macro" lines as the first lines in 150 or more macros?

You'll need to write a macro that moves the cursor down through each macro within the selected category, opens each macro, insets the required line, saves and closes the macro (all this within a repeat group). And you need to recognize when the macro you've just opened is the same as the macro you opened last time so that you can exit the loop.

 

It's not too hard, I've done it heaps of times.

 

P.S. Any time I write a macro that needs to type out some text, I always set the keyboard speed to 30 or more.

Link to comment
Share on other sites

You may want to try setting the global Text Type delay preference. Click Options, Preferences, Delays. Make sure 'Use Text Type delay' is checked and enter something like 300, 500, or 1000 in the microseconds field. This will slow down all text type commands but you may not notice the difference.

 

To make the Text Type command more reliable the latest versions of Macro Express default this value to 300 microseconds. Unless you uninstall first, upgrading does not change the value you already have.

Link to comment
Share on other sites

As i have mentioned in earlier posts, we use a delay of 10000 microseconds just to be sure, a couple a days before i tried to trim just only this delay, to speed things up, where running a macro which handles data between two applications. When i went under 3000 it just went crazy and wrote stuff in the wrong fields.

 

071120 kl.0858

Perhaps i should explain a little bit more why we have this trouble and have to use this long delays.

We're very often running against an application in a server located far from here and the application has many fields that we have to fill with data. We just have no other way to approach the fields than with the Tab (Text type:Tab). If the macro runs to fast it jumps and write the data in the wrong fields. We also use alot of Wait for, etc. in the macros. Mostly we copy data, edit and back and forth between Excel and this special App. (Who needs Crystal reports? :) )

You can easy say that ME is a lifesaver in our work. :)

Link to comment
Share on other sites

We just have no other way to approach the fields than with the Tab (Text type:Tab). If the macro runs to fast it jumps and write the data in the wrong fields. We also use alot of Wait for, etc. in the macros.

This is not an unusual application for Macro Express, and you are taking the correct approach in adjusting its speed. Keep in mind that the playback preference setting is for all macros and is based on microseconds rather than milliseconds, so when you state that the setting is 10,000 microseconds, it means 10 milliseconds (1,000 microseconds = 1 millisecond).

 

Another command to look at is the Keystroke Speed command. It is used to control individual macro typing speeds. The value is stated milliseconds (1,000 milliseconds = 1 second) and remains in effect until the macro ends or until changed with another Keystroke Speed command.

 

Something else to consider is the Wait Text Playback command, which simply stops the macro until the keyboard buffer is empty. Sometimes this is better than using Delays.

 

Neither of these, however, can control how fast, or how slow, the target application reacts when simply tabbing from one field to the next. Every app is different in what it does to process keystrokes sent to it.

 

It's natural that Macro Express sends keystrokes to apps faster than they can process them. I'm a pretty fast typist, but there is no way for me to type anywhere near the speed of light that any program, including Macro Express, can type. So, delays are a natural solution.

Link to comment
Share on other sites

Tanks for the tip Floyd!

In our case we mostly work against the same application, so it's solved with the Text Type Delay option. But we also use the macro to work in just e.g. excel-sheets so maybe it should be possible to set the Text Type Delay individualy in every macro? Perhaps i should post it as an request? Ehh, Kevin? :)

 

You may want to try setting the global Text Type delay preference. Click Options, Preferences, Delays. Make sure 'Use Text Type delay' is checked and enter something like 300, 500, or 1000 in the microseconds field. This will slow down all text type commands but you may not notice the difference
Link to comment
Share on other sites

No need to request it. The command already exists: Keystroke Speed

 

Doesn't it help in just Keystrokes? We use Text Type in many cases e.g. pasting work descriptions (up to 2000 characters) in a field with the use of Text Type %T1%. Take this example, when writing out the text in this case it takes some time, in this macro you could have a much greater speed in the Text Type when writing in the same field. But in other cases you have to have a much lower speed, there for my thoughts about having the possibility to change individualy in every macro.

Link to comment
Share on other sites

Doesn't it help in just Keystrokes?

No. Its intended purpose IS to control the speed of the Text Type command. If, for example, you have Keystroke Speed set for 50, and you are using Text Type to type-out "Macro Express Explained", a 50 ms delay will occur between each character in the string. Therefore, the 23 characters will require 1,150 ms (about 1 second) to type-out.

Link to comment
Share on other sites

Ahhh, i see! I'll try this first thing tomorrow, this is really interesting, we could trim alot in our macros. We were certain it was only for tab, shift etc. commands, don't ask why...

I like that you pointed out:

"Macro Express Explained"
No, i havent read it. ;) but i guess i should. Thanks again Floyd.
Link to comment
Share on other sites

No. Its intended purpose IS to control the speed of the Text Type command. If, for example, you have Keystroke Speed set for 50, and you are using Text Type to type-out "Macro Express Explained", a 50 ms delay will occur between each character in the string. Therefore, the 23 characters will require 1,150 ms (about 1 second) to type-out.

And your chosen value doesn't need to be reset at the end of your macro, since this happens automatically.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...