Keyboard Maestro has two very distinct types of fields: text fields and numeric fields. Most text fields are text token fields. Most numeric fields are calculation fields.
Numeric fields start out small, and usually have double arrows stepper next to them:
and then expand to allow more text if you type something other than a simple number:
They are designed to allow you to enter a specific numeric value. In these fields, you can type a raw calculation, which can include variables and functions. Eg “Count + 2 * DOW()”. To use a variable in a numeric field, you use it as is, without any adornment.
As soon as you type anything other than a digit, they expand to a larger size to allow for a calculation. Calculation fields never use percent text tokens.
If the function is invalid, it will highlight in red. Keep in mind that the expression may be invalid simply because a variable it references does not yet have a value. If you have not set the Count variable to a value, then the above action would look like this:
This is nothing inherently wrong with the action - the variable Count just does not currently have a numeric value. Expressions that are invalid only because a variable is not currently valid will show in orange instead of red.
You can insert functions into numeric fields using the Edit ➤ Insert Function menu. If you hold the option key down while selecting a function, you will get help on that function (from this wiki).
Text fields, on the other hand, start out larger. They may be single line, or multi-line, and may expand to more lines to fit (within limits) the content. Text token fields process text tokens which are marked with percents, like %CurrentClipboard% or %Variable%My Variable% and typically (but not always) have an Insert Token pull down menu. They also process backslash characters (eg
\t, etc) (except in regular expression fields). Text fields can include the values of variables by using the Variable token, eg:
You can use a calculation in a text field using the Calculate text token, eg %Calculate%1+2%.
You can insert text tokens into text fields using the Edit ➤ Insert Token menu. If you hold the option key down while selecting a token, you will get help on that token (from this wiki).
Text token fields also process %NN% or %NNNN% or %NNNNNN% as arbitrary hex unicode characters (eg %41% is an A, %01F300% is 🌀), and (except for regular expression fields) process backslashed characters \a,\b,\e,\f,\t,\r,\n (bell,backspace,escape,form feed,tab,return,line feed).
Text tokens can also include the Text Case Conversion characters like
In most text fields, you can select (in the ⚙ menu) whether to process normally, or just tokens (not backspashed characters) or do no text processing at all. Alternatively, to include a percent in your text, simply double the percent (%%). To include a backslash \ in your text, double the backslash (\\).
Almost every field in Keyboard Maestro actions is either a numeric field or a text token field. The major exceptions are script fields. Scripts are not processed for text tokens, they must access variables through other means.