This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
Frequently_Asked_Questions [2023/10/10 02:21] peternlewis [Should I buy from the Mac App Store or Buy Direct?] |
Frequently_Asked_Questions [2024/12/27 22:48] (current) peternlewis [Is Keyboard Maestro compatible with Sonoma?] |
||
---|---|---|---|
Line 16: | Line 16: | ||
* If you purchased Keyboard Maestro after 1 March 2023 you have received a free upgrade to Keyboard Maestro 11. | * If you purchased Keyboard Maestro after 1 March 2023 you have received a free upgrade to Keyboard Maestro 11. | ||
- | * If you *purchased* Keyboard Maestro version 10, you can upgrade for $18 until 15 December 2023. | ||
* If you own any previous version of Keyboard Maestro, you can upgrade for $25. | * If you own any previous version of Keyboard Maestro, you can upgrade for $25. | ||
* Otherwise you can purchase a new version for $36. | * Otherwise you can purchase a new version for $36. | ||
Line 97: | Line 96: | ||
Note that Mojave and later add lots of nagging for security permissions that can be tedious when first using Keyboard Maestro or when first controlling a specific facility or application. | Note that Mojave and later add lots of nagging for security permissions that can be tedious when first using Keyboard Maestro or when first controlling a specific facility or application. | ||
+ | |||
+ | ==== Is Keyboard Maestro compatible with Sequoia? ==== | ||
+ | |||
+ | Yes, Keyboard Maestro version 11 is fully compatible with Sequoia. In fact, Keyboard Maestro versions going back as far as version 4.x still work fine on Sequoia. | ||
+ | |||
+ | The Tesseract OCR library that Keyboard Maestro uses frequently fails with a memory corruption in Sequoia. It is unlikely we will be able to fix this, however the Apple Text Recognition supported by recent versions of Keyboard Maestro generally works better in most cases. Note that it currently supports English-only, so if you use OCR on non-English text, this may be a problem for you. | ||
+ | |||
+ | Similar to previous versions there are endless little niggles in the security system which may cause issues when first getting Keyboard Maestro permission. | ||
+ | |||
+ | Also, Sequoia tends to re-request Screen Monitoring permissions periodically which may be a nuisance, and for headless or unattended Macs may be a serious problem. | ||
+ | |||
==== Reporting a bug ==== | ==== Reporting a bug ==== | ||
Line 322: | Line 332: | ||
==== How should I name my variables? ==== | ==== How should I name my variables? ==== | ||
- | Keyboard Maestro 5 introduced [[manual:Variables|Variables]] to its set of features. These variables are really great for scripters. They are implemented in a way that a variable can be initialized from within a Keyboard Maestro macro (A Prompt for User Input, Set Variable to Text, or a Set Variable to Calculation action.), which can then be used in other actions, including Shell and AppleScript scripts. | + | Keyboard Maestro 5 introduced [[manual:Variables|Variables]] to its set of features. Variables can be initialised in a wide variety of ways, including by asking you for values using actions like [[action:Prompt_for_User_Input|Prompt for User Input]], [[action:Set_Variable_to_Text|Set Variable to Text]] or [[action:Set_Variable_to_Calculation|Calculation]] and can then be used in other actions, including [[action:Execute_a_Shell_Script|Shell]] and [[action:Execute_an_AppleScript|AppleScript]] scripts. |
- | Variables can be used with the [[token:Variable|%Variable%]] token syntax in Text Fields. [[manual:Calculations|Calculations]] , such as screen coordinates and frames, whether the Mac is online, Safari tabs, etc, can also be used for some nifty things, and they can set variables. There’s a lot to check out with calculations. Calculations, can even have two elements, in which case the variables can be accessed as array. (eg, ''%Calculate%variable name[2]''). In Shell and AppleScript’s this looks similar. Please refer to the [[manual:Variables|Variables]] user manual section for more information. A [[action:Execute_a_Shell_Script|Execute a Shell Script]] action can access variables like so: ''$KMVAR‗variable‗name'' or so ''$_ENV["KMVAR‗variable‗name"]''. | + | Almost every field in Keyboard Maestro actions can optionally include a variable. In [[/Text_Fields|Text Fields]], variables can be used with the [[token:Variable|%Variable%]] token, while in [[/Text_Fields|Numeric Fields]], calculations can be used containing variables directly. |
+ | |||
+ | [[manual:Variables|Variables]] can also include an array of elements. | ||
Which brings us to the point of this article: *naming best practices*. | Which brings us to the point of this article: *naming best practices*. | ||
- | Variables that start with "Local " (v8+) will be local to the macro in question, and that start with "Instance " will be local to the macro instance (ie, that macro and all the macros that it executes). Consider availing yourself of these local variables if appropriate. | + | Variables that start with "Local" (v8+) will be local to the macro in question, and that start with "Instance" will be local to the macro instance (ie, that macro and all the macros that it executes). Consider availing yourself of these local variables when appropriate. |
+ | |||
+ | Other variables are global and so can be used between different macros and retain their values over time, thus allowing you to store information for later use. | ||
Keyboard Maestro variables can have whitespace characters in their name. This is good for human readability. It also makes for better user experience in User Input dialogs. Whitespace characters are converted to underscores in scripts. | Keyboard Maestro variables can have whitespace characters in their name. This is good for human readability. It also makes for better user experience in User Input dialogs. Whitespace characters are converted to underscores in scripts. |