{"id":36669,"date":"2026-09-16T14:26:59","date_gmt":"2026-09-16T21:26:59","guid":{"rendered":"https:\/\/www.podfeet.com\/blog\/?p=36669"},"modified":"2026-09-16T16:26:48","modified_gmt":"2026-09-16T23:26:48","slug":"f-keys-screen-recording","status":"publish","type":"post","link":"https:\/\/www.podfeet.com\/blog\/2026\/09\/f-keys-screen-recording\/","title":{"rendered":"The Case of the Missing F-Keys: Solved with Keyboard Maestro"},"content":{"rendered":"<p>One of the most powerful tools that I take for granted on my Mac is <a href=\"https:\/\/www.keyboardmaestro.com\/main\/\">Keyboard Maestro<\/a>. I have a lot of cool little automations running that I sometimes forget aren\u2019t part of the operating system. I wouldn&#8217;t call myself a power user of the tool compared to some other folks, but I know my way around it well enough. This week I solved a peculiar problem that had been bugging me for years by using Keyboard Maestro.<\/p>\n<h2>The Problem to be Solved<\/h2>\n<p>In my article about Cleanshot 5.0 this week, I explained that, like ScreenFlow, it can record keystrokes and display them in the video recording. This is an important feature that helps your audience follow along with what you\u2019re demonstrating.<\/p>\n<p>If you don&#8217;t create screencasts, but you do demos to live audiences, you can use a tool like <a href=\"https:\/\/keyscreen.app\">Keyscreen<\/a> or <a href=\"https:\/\/github.com\/keycastr\/keycastr\">KeyCastr<\/a> to display your keystrokes onscreen to help the audience follow along. But if you&#8217;re recording the screen, there&#8217;s a problem.<\/p>\n<p>Both ScreenFlow and CleanShot allow you to choose to display either all keystrokes or just modifier keys, such as Command, Control, and Option, in combination with regular keys. For example, if you hold down Option-Control-V to paste without formatting, it shows the keys \u2325\u2303V (capital V).<\/p>\n<p>Overall, this is a dandy feature. But there\u2019s one set of keys that the screencasting tools I\u2019ve tested can\u2019t seem to capture, and that&#8217;s the function keys.  You might be wondering why I would care to show these particular keys.<\/p>\n<p>In a recent ScreenCastsONLINE tutorial, I was teaching a bunch of my Tiny Mac Tips, and one of them was how, if you hold down Option-F1 or F2 (the brightness keys), you can jump directly into System Settings to Displays settings. No faffing about launching System Settings, finding Displays, and then selecting it. That\u2019s built-in functionality that really speeds up getting to the right place in the labyrinth that is System Settings.<\/p>\n<p>You can also hold down Option and any one of the three volume keys (F110, F11, or F12) to jump right to Sound settings in System Settings.<\/p>\n<p>I was on a roll with modifier keys added to function keys, so I also wanted to demonstrate how you can make teeny adjustments to brightness and volume if you add Option-Shift to the respective function keys.<\/p>\n<p>If the function keys didn\u2019t show in my videos, the tutorial would be much harder to follow. It would even look wrong as I said &#8220;Hold down Option F1&#8221; and all the audience could see was the Option key.<\/p>\n<p>I simply had to find a good, permanent solution to this problem, and the awesome <a href=\"https:\/\/www.keyboardmaestro.com\/main\/\">Keyboard Maestro<\/a> was the perfect tool for the job.<\/p>\n<p>While the final solution may look intimidating, it\u2019s only because the steps need to be replicated for each function key you want to capture. The individual macros are quite simple.<\/p>\n<h2>Setup for Macros<\/h2>\n<p>At a high level, we&#8217;re going to disable the normal way that the function keys operate, and then we&#8217;re going to put the functionality back with Keyboard Maestro. This requires some setup.<\/p>\n<p>By default, the function keys aren&#8217;t really acting as function keys. For example, if you tap the F1 and F2 keys, you\u2019ll see the brightness go down and up. But if you hold down the \ud83c\udf10\ufe0efn key, then F1-F12 act like function keys. Ok, with me so far? Function keys don&#8217;t act as function keys by default.<\/p>\n<p>For this trick to work, we have to swap that behavior. It will make sense in a minute \u2026 I think.<\/p>\n<ol>\n<li>Open System Settings \u2192 Keyboard \u2192 Keyboard Shortcuts.<\/li>\n<li>Select Function Keys in the left sidebar<\/li>\n<li>Toggle ON Use F1, F2, etc. keys as standard function keys<\/li>\n<\/ol>\n<p>Under this toggle, it explains: \u201cWhen this option is selected, press and hold the \ud83c\udf10\ufe0e key to use the special features printed on each key.\u201d The special features are things like brightness and volume.<\/p>\n<figure style=\"float: center; margin: 10px\"><img decoding=\"async\" src=\"https:\/\/www.podfeet.com\/blog\/wp-content\/uploads\/2026\/09\/Enable-use-Function-keys-as-standard-function-keys-in-System-Settings.png\" alt=\"Enable use Function keys as standard function keys in System Settings.\"  title=\"Enable use Function keys as standard function keys in System Settings.png\" width=\"759 \" height=\"627\"><figcaption style=\"text-align:center\">Enable Function Keys as Function Keys<\/figcaption><\/figure>\n<p>If you have nothing assigned to a function key, tapping it now will just boop at you.  But holding down \ud83c\udf10\ufe0efn with a function key will execute the special feature on that key. For example, \ud83c\udf10\ufe0efn+F2 will increase the brightness of the display. This may be the way you\u2019d like your function keys to behave anyway, and if so, you\u2019re welcome for this embedded Tiny Mac Tip. You should stop right here.<\/p>\n<p>For the rest of us, we\u2019re going to do something that sounds nutty. We\u2019re going to use Keyboard Maestro macros to bring back the original functionality. When we\u2019re done, we won\u2019t have to use \ud83c\udf10\ufe0efn to use the F-keys to do things like control brightness and volume.  Ok, even to me this sounds kind of batty, but let\u2019s soldier on.<\/p>\n<h2>Quick Keyboard Maestro Primer<\/h2>\n<p>Keyboard Maestro is an incredibly capable tool, and I&#8217;m not going to do a full tutorial on it, but a quick primer will be helpful.<\/p>\n<p>The Keyboard Maestro interface has three columns.  The left column is for Groups. You can group your macros by app, but you can group them any way you like. Grouping by app is cool because you can have the macros only function within that specific app. For example, I wrote a macro that only exists when I\u2019m editing the podcast in Hindenburg.<\/p>\n<p>The second column is a list of the macros you have in the selected group. At the bottom of this second column, there\u2019s a plus button to create a new macro within the group.<\/p>\n<p>With a macro selected, the third column is where you build, view, and test the macro.  At the bottom of the third column is a plus button (amongst other things), and this button pops up all of the available actions you can add to your macro.<\/p>\n<p>That&#8217;s it for the primer. See? That wasn&#8217;t so bad!<\/p>\n<h2>Building our Function Key Macros<\/h2>\n<p>Now let&#8217;s walk through how to create our first macro to return the default functionality to one of our function keys, which will allow ScreenFlow and CleanShot to display those keys.<\/p>\n<p>In our left column, we can tap the plus button at the bottom to create a group I&#8217;ll call Demo. Since these macros will be used while demonstrating any application, we\u2019ll leave the defaults for the new group to be available everything everywhere all at once.<\/p>\n<figure style=\"float: center; margin: 10px\"><img decoding=\"async\" src=\"https:\/\/www.podfeet.com\/blog\/wp-content\/uploads\/2026\/09\/Keyboard-Maestro-new-demo-group-showing-defaults.png\" alt=\"Keyboard Maestro new demo group showing defaults and an arrow pointing to the plus sign to add a new Macro.\"  title=\"Keyboard Maestro new demo group showing defaults.png\" width=\"798 \" height=\"431\"><figcaption style=\"text-align:center\">New Macro Group<\/figcaption><\/figure>\n<p>Next, we select the plus button in the second column to create a new macro. Creating one macro to put the functionality back on the function keys is quite easy. To solve my problem, I created 16 different macros, but their form is very similar. I created the first one, duplicated it, made a few minor tweaks, and then moved on to the next one.<\/p>\n<p>The first macro I added was to return normal functionality to the F1 key, which should be to turn the brightness down. When invited to give the macro a memorable name \u2014 I chose \u201cShow F1 Key (brightness down)\u201d. I\u2019m clever that way.<\/p>\n<p>The fun part is in the right pane. Below the macro&#8217;s name is a checkbox that says \u201cTriggered by any of the following:\u201d and you\u2019re invited to add a trigger with a green plus box.<\/p>\n<figure style=\"float: center; margin: 10px\"><img decoding=\"async\" src=\"https:\/\/www.podfeet.com\/blog\/wp-content\/uploads\/2026\/09\/Editing-first-macro-for-F1.png\" alt=\"Editing first macro for F1.\"  title=\"Editing first macro for F1.png\" width=\"726 \" height=\"406\"><figcaption style=\"text-align:center\">Add a Trigger<\/figcaption><\/figure>\n<p>When you tap the green plus, you&#8217;ll see an alarming number of options, but don\u2019t panic. The first option is hotkey, and that\u2019s what we want. We want to trigger this macro when the F1 key is pressed. Now you get the familiar field to type the hotkey.<\/p>\n<p>Ok, cool. We\u2019re almost done. We have a macro and Keyboard Maestro knows how to trigger it, but it doesn\u2019t yet know what action to take.  At the bottom of the right pane is a plus button, which will pop up a list of the gazillion actions you can choose to add. Again, don\u2019t panic!<\/p>\n<p>At the top of the ginormous list is a search field. We want F1 (without the \ud83c\udf10\ufe0e key) to trigger a brightness change as it did before. Searching for \u201cbrightness\u201d returns a list of four options: decrease and increase brightness, but also <em>small<\/em> decrease and increase. For this macro, we can simply select Decrease Screen Brightness and drag it down into the action field, and our macro is done.<\/p>\n<figure style=\"float: center; margin: 10px\"><img decoding=\"async\" src=\"https:\/\/www.podfeet.com\/blog\/wp-content\/uploads\/2026\/09\/Adding-new-action-and-searching-for-brightness-with-counters.png\" alt=\"Adding new action and searching for brightness with counters.\"  title=\"Adding new action and searching for brightness with counters.png\" width=\"728 \" height=\"403\"><figcaption style=\"text-align:center\">Add an Action to the Macro From the List<\/figcaption><\/figure>\n<p>That sounded like a lot, but we really only did three things after creating the group:<\/p>\n<ol>\n<li>Added a new macro and named it<\/li>\n<li>Added a hotkey trigger<\/li>\n<li>Told it the action we wanted for the hotkey<\/li>\n<\/ol>\n<p>With those three simple steps, now a tap of F1 brings the brightness down just like nature intended.  More importantly, and for reasons I can\u2019t explain, <em>now<\/em> when you do a screen recording, your software will see the F1 key being pressed.<\/p>\n<p>Once I had F1 working properly, I only needed 15 more macros for my tutorial.  And why so many, you might wonder? I needed to show how brightness up and down worked by themselves by tapping F1 and F2, but the big excitement was adding the Option key to both of them to bring up Displays in System Settings. I had to duplicate my macro to add ones for Option-F1 and Option-F2 as the triggers.<\/p>\n<p>Likewise, I wanted to demo holding down Option and any of the three volume function keys: mute, volume down, and volume up.<\/p>\n<p>You can see how the number of macros I had to create was multiplying. 5 function keys providing their normal functionality, and then the same five with the Option key held down. We\u2019re at 10 already.<\/p>\n<p>But then I decided to teach another trick. If you hold down Shift and Option with volume up\/down and brightness up\/down, you get tiny incremental changes instead of the bigger default changes. I know, it\u2019s for the true control freaks amongst us, but it\u2019s fun.  So that gave me 4 more.<\/p>\n<p>The final trick was to show the audience how to have the volume keys play a little \u201cboop\u201d sound to let you know how loud or quiet your changes were making the volume. That used to be the normal behavior, but Apple took it away from us in Yosemite 10.10.<\/p>\n<p>If you hold the Shift key down with volume up or down, you get it back!  That gave me the last two macros, bringing the grand total to 16.<\/p>\n<h2>Proof of Success<\/h2>\n<p>The real proof of success was when I recorded my tutorial video with ScreenFlow, added a video action to show modifier keys, and I could see my function keys. I put a screenshot from the final video into the show notes to prove it.<\/p>\n<figure style=\"float: center; margin: 10px\"><img decoding=\"async\" src=\"https:\/\/www.podfeet.com\/blog\/wp-content\/uploads\/2026\/09\/Option-F1-Showing-onscreen-during-ScreenFlow-video.png\" alt=\"Option-F1 Showing onscreen during ScreenFlow video.\"  title=\"Option-F1 Showing onscreen during ScreenFlow video.png\" width=\"799 \" height=\"449\"><figcaption style=\"text-align:center\">Look! You Can See Option-F1 in a Video!<\/figcaption><\/figure>\n<p>I&#8217;m quite skilled at coming up with nifty automations like this but I often forget how I did these things. I worried that if I succeeded in remembering that I&#8217;d created these macros, it would be really helpful if I left myself some breadcrumbs about how to enable all of this. In particular, I needed to remind myself that I&#8217;d have to toggle the way the function keys work.<\/p>\n<p>I wrote a \u201cmacro\u201d called README that\u2019s actually just a couple of comment boxes to remind me of how it works and what toggles to flip.<\/p>\n<figure style=\"float: center; margin: 10px\"><img decoding=\"async\" src=\"https:\/\/www.podfeet.com\/blog\/wp-content\/uploads\/2026\/09\/All-function-key-operations-I-redefined-with-the-comments.png\" alt=\"All function key operations I redefined with the comments.\"  title=\"All function key operations I redefined with the comments.png\" width=\"800 \" height=\"453\"><figcaption style=\"text-align:center\">16 Glorious Macros and a Nice README<\/figcaption><\/figure>\n<p>After I got all of this working as designed, I found a problem.  The F11 key wouldn&#8217;t work to mute the audio. It turns out that F11 is assigned to Show Desktop. In order to use F11 with these macros, you have to go back into Keyboard Shortcuts and, under Mission Control, uncheck the box to Show Desktop for F11.  You can bet I added that to my README macro!<\/p>\n<p>If I ever need to show the function keys for the remaining 7 function keys, I\u2019ll have some work to do, but for now I\u2019ll take a rest.<\/p>\n<h2>Bottom Line<\/h2>\n<p>The bottom line is that this is a pretty narrow need, but I was so proud of my solution I felt compelled to share. I also now have an article I can reference in six months when I can&#8217;t figure out how I did this or why I did each step.<\/p>\n<p>If you want my macros, I\u2019ve put a link in the shownotes where you can download a zip file of the entire group. When you import the macros, make <em>sure<\/em> you have your settings to disable any imported macros, and then <em>carefully<\/em> review what I\u2019ve given you. Macros are little executables that can change things on your system, so they are VERY DANGEROUS. Mine aren\u2019t, of course, but practice good hygiene even with a trusted source.<\/p>\n<p><a href=\"https:\/\/podfeet.com\/blog\/wp-content\/uploads\/2026\/09\/show-function-keys.kmmacros.zip\">show-function-keys.kmmacros<\/a><\/p>\n<p>One final bit of advice. When you&#8217;re not actively screencasting while needing to see the function keys, you might want to disable the entire group and toggle the function keys back to their original behavior in System Settings.<\/p>\n<h2>One More Thing<\/h2>\n<p>One more thing. Somehow apps like KeyScreen and KeyCastr, which display typed characters onscreen, <strong>can<\/strong> show function keys without any of this falderal! Maybe I should get their developers together with those from ScreenFlow and CleanShot?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the most powerful tools that I take for granted on my Mac is Keyboard Maestro. I have a lot of cool little automations running that I sometimes forget aren\u2019t part of the operating system. I wouldn&#8217;t call myself a power user of the tool compared to some other folks, but I know my [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":36671,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[147],"tags":[8410,5288,1830,4534,2320,280],"class_list":["post-36669","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog-posts","tag-f-keys","tag-function-keys","tag-keyboard-maestro","tag-macros","tag-screen-recording","tag-screencasting"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/www.podfeet.com\/blog\/wp-content\/uploads\/2026\/09\/All-function-key-operations-I-redefined-with-the-comments-1040x520-1.png","_links":{"self":[{"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/posts\/36669","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/comments?post=36669"}],"version-history":[{"count":4,"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/posts\/36669\/revisions"}],"predecessor-version":[{"id":36679,"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/posts\/36669\/revisions\/36679"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/media\/36671"}],"wp:attachment":[{"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/media?parent=36669"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/categories?post=36669"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/tags?post=36669"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}