{"id":42274,"date":"2024-02-28T16:50:38","date_gmt":"2024-02-28T21:50:38","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=42274"},"modified":"2024-02-28T16:50:38","modified_gmt":"2024-02-28T21:50:38","slug":"fastscripts-3-3","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2024\/02\/28\/fastscripts-3-3\/","title":{"rendered":"FastScripts 3.3"},"content":{"rendered":"<p><a href=\"https:\/\/redsweater.com\/blog\/4070\/fastscripts-3-3-mouse-automation\">Red Sweater<\/a>:<\/p>\n<blockquote cite=\"https:\/\/redsweater.com\/blog\/4070\/fastscripts-3-3-mouse-automation\"><p>This update includes a major new premium scripting addition, facilitating mouse automation by providing a variety of new scripting commands, including a powerhouse for synthesizing clicks and drags[&#8230;]<\/p><p>[&#8230;]<\/p><p>When automating mouse events, the clicks, drags, and releases can happen so fast that it confuses or overwhelms some interface components. For this reason, FastScripts imposes a short delay between the generation and delivery of each individual event that makes up a requested automation command. I&rsquo;m calling this delay the <strong>event cadence<\/strong>, and it can be overridden with a longer or shorter cadence by supplying a parameter to the <strong>click mouse<\/strong> command, or for the duration of a whole script by setting this property[&#8230;]<\/p><p>[&#8230;]<\/p><p>Finally, there are two new properties for querying the state of the mouse and keyboard:<\/p><ul><li><strong>current mouse position<\/strong><\/li><li><strong>current keyboard modifiers<\/strong><\/li><\/ul><\/blockquote>\n\n<p>See also: <a href=\"http:\/\/www.atpm.com\/6.03\/player.shtml\">PreFab Player<\/a>.<\/p>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2022\/09\/26\/fastscripts-3-2\/\">FastScripts 3.2<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Red Sweater: This update includes a major new premium scripting addition, facilitating mouse automation by providing a variety of new scripting commands, including a powerhouse for synthesizing clicks and drags[&#8230;][&#8230;]When automating mouse events, the clicks, drags, and releases can happen so fast that it confuses or overwhelms some interface components. For this reason, FastScripts imposes [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2024-02-28T21:50:44Z","apple_news_api_id":"885b7134-6fff-4fb7-916d-d3f926747e55","apple_news_api_modified_at":"2024-02-28T21:50:44Z","apple_news_api_revision":"AAAAAAAAAAD\/\/\/\/\/\/\/\/\/\/w==","apple_news_api_share_url":"https:\/\/apple.news\/AiFtxNG__T7eRbdP5JnR-VQ","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[159,1624,30,32,2385,71],"class_list":["post-42274","post","type-post","status-publish","format-standard","hentry","category-technology","tag-applescript","tag-fastscripts","tag-mac","tag-macapp","tag-macos-14-sonoma","tag-programming"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/42274","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=42274"}],"version-history":[{"count":1,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/42274\/revisions"}],"predecessor-version":[{"id":42275,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/42274\/revisions\/42275"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=42274"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=42274"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=42274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}