{"id":1651,"date":"2023-03-27T22:00:00","date_gmt":"2023-03-27T20:00:00","guid":{"rendered":"https:\/\/demo.sidekick.be\/itenium\/autohotkey-hotkeys\/"},"modified":"2025-11-28T13:31:46","modified_gmt":"2025-11-28T12:31:46","slug":"autohotkey-hotkeys","status":"publish","type":"post","link":"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/autohotkey-hotkeys\/","title":{"rendered":"Autohotkey Tutorial &#8211; hotkeys"},"content":{"rendered":"<h1 id=\"basic-syntax\">Basic Syntax<\/h1>\n<h2 id=\"keyboard\">Keyboard<\/h2>\n<table class=\"table-code\">\n<thead>\n<tr>\n<th>Shorthand<\/th>\n<th>Full<\/th>\n<th>Desc<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>+<\/td>\n<td>Shift<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>^<\/td>\n<td>Control or Ctrl<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>#<\/td>\n<td>Win<\/td>\n<td>Windows<\/td>\n<\/tr>\n<tr>\n<td>!<\/td>\n<td>Alt<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>&lt;#<\/td>\n<td>LWin<\/td>\n<td>Left Windows<\/td>\n<\/tr>\n<tr>\n<td>+&gt;<\/td>\n<td>RShift<\/td>\n<td>Right Shift<\/td>\n<\/tr>\n<tr>\n<td>&lt;^&gt;!<\/td>\n<td>AltGr<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>AppsKey<\/td>\n<td>Menu key<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>CapsLock<\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Others<\/strong>:<\/p>\n<ul>\n<li>F[1-24], Tab, Space, Enter\/Return, Backspace\/BS<\/li>\n<li>Left, Up, Down, Right<\/li>\n<li>Esc, Ins, Delete\/Del, Home, End, PgUp, PgDn<\/li>\n<li>PrintScreen, ScrollLock, CtrlBreak<\/li>\n<li>Sleep, Pause<\/li>\n<\/ul>\n<p><strong>Numpad<\/strong>:<\/p>\n<ul>\n<li>Numlock ON: Numpad[0-9],<\/li>\n<li>Numlock OFF: NumpadIns, NumpadEnd, NumpadMult, NumpadEnter, \u2026<\/li>\n<\/ul>\n<p><strong>Multimedia<\/strong>:<\/p>\n<ul>\n<li>Browser_Stop, Media_Next, Volume_Up, Launch_App2, \u2026<\/li>\n<\/ul>\n<p><strong>Mouse<\/strong>:<\/p>\n<ul>\n<li>LButton, RButton, MButton<\/li>\n<li>XButton1 (Browser_Back), XButton2 (Browser_Forward)<\/li>\n<li>WheelUp, WheelDown, WheelLeft, WheelRight<\/li>\n<\/ul>\n<p><strong>Joystick<\/strong>:<\/p>\n<ul>\n<li>JoyX, JoyPOV, JoyInfo, \u2026<\/li>\n<\/ul>\n<p><a href=\"https:\/\/autohotkey.com\/docs\/scripts\/JoystickTest.htm\">JoystickTest<\/a>: A simple script for determining the exact mapping of your joystick.<\/p>\n<p> Find <a href=\"https:\/\/autohotkey.com\/docs\/KeyList.htm\">the full KeyList here<\/a>. If your keyboard has keys that are not in the full keylist, <a href=\"https:\/\/autohotkey.com\/docs\/KeyList.htm#SpecialKeys\">it might still be possible to map them to a script<\/a>.<\/p>\n<p>You can also let Autohotkey itself do the figuring out for you. Its builtin command <code>KeyHistory<\/code> opens a window where you can figure out which is which.<\/p>\n<h2 id=\"native-function\">Native function<\/h2>\n<p>Prefix a hotkey with <code>~<\/code> to not block the native function.<\/p>\n<pre><code class=\"language-autohotkey\">#IfWinActive, ahk_class CabinetWClass\n; Control + Shift + 6: Details View in Windows Explorer\n; Resize columns so that filenames are completely visible\n~^+6::Send, {Control Down}{NumpadAdd}{Control Up}\n#IfWinActive\n<\/code><\/pre>\n<h2 id=\"custom-combinations\">Custom combinations<\/h2>\n<p>To combine keys that do not have a shorthand use <code>&amp;<\/code>. Keys on the left side of such custom combinations lose their native function. They are called prefix keys.<\/p>\n<p>Example: Search google for text on the clipboard by pressing Capslock and X.<\/p>\n<pre><code class=\"language-autohotkey\">Capslock &amp; X::Run, http:\/\/www.google.com\/search?q=%clipboard%\n<\/code><\/pre>\n<h2 id=\"other\">Other<\/h2>\n<p><strong>Key Down and Up<\/strong><br \/> Add <code>UP<\/code> to a hotkey combination to run the script on key release rather than on keypress.<\/p>\n<pre><code class=\"language-autohotkey\">AppsKey::ToolTip Press &lt; or &gt; to cycle through tabs.\nAppsKey Up::ToolTip\n~AppsKey &amp; &lt;::Send ^+{tab}\n~AppsKey &amp; &gt;::Send ^{tab}\n<\/code><\/pre>\n<p><strong>Wildcard<\/strong><br \/><code>*<\/code> acts as a key modifier wildcard.<\/p>\n<pre><code class=\"language-autohotkey\">*#c::Msgbox Triggered by Win+C, Shift+Win+C, Ctrl+Win+C, etc\n<\/code><\/pre>\n<p><strong>Resending<\/strong><br \/><code>$<\/code> is necessary when you need to send the same hotkey and not execute your script again.<\/p>\n<pre><code class=\"language-autohotkey\">$#e::\n; Send Control + C =&gt; Copy text\nSend, ^c\nClipWait, 1\nfileExists := FileExist(clipboard)\nif (fileExists = \"D\") {\n    ; Open explorer in path on clipboard\n    Run % \"explorer.exe \/root,\" clipboard\n\n} else if (fileExists) {\n    ; Open explorer with file selected\n    Run % \"explorer.exe \/select,\" clipboard\n\n} else {\n    ; No path on clipboard, just open explorer\n    Send #e\n}\nReturn\n<\/code><\/pre>\n<h1 id=\"advanced-hotkeys\">Advanced Hotkeys<\/h1>\n<p>Creating more advanced hotkey combinations.<\/p>\n<h2 id=\"context-sensitive-hotkeys\">Context sensitive hotkeys<\/h2>\n<p>Control in which applications a hotkey is (not) active with the keywords <a href=\"https:\/\/autohotkey.com\/docs\/commands\/WinActive.htm\"><code>IfWinActive<\/code><\/a>, <code>IfWinExist<\/code>, <code>IfWinNotActive<\/code> and <code>IfWinNotExist<\/code>.<\/p>\n<pre><code class=\"language-autohotkey\">#IfWinActive, ahk_class Notepad\n^a::MsgBox You pressed Ctrl-A while Notepad is active. Pressing Ctrl-A in any other window will pass the Ctrl-A keystroke to that window.\n#c::MsgBox You pressed Win-C while Notepad is active.\n#IfWinActive\n\n#c::MsgBox You pressed Win-C while any window except Notepad is active.\n\n\n#If MouseIsOver(\"ahk_class Shell_TrayWnd\") and true\nWheelUp::Send {Volume_Up}     ; Wheel over taskbar: increase\/decrease volume.\nWheelDown::Send {Volume_Down} ;\n\nMouseIsOver(WinTitle) {\n    MouseGetPos,,, Win\n    return WinExist(WinTitle . \" ahk_id \" . Win)\n}\n#If\n\n\n$^p::\nIfWinActive ahk_class Notepad\n    return  ; i.e. do nothing, which causes Control-P to do nothing in Notepad.\n\nSend ^p\nreturn\n<\/code><\/pre>\n<p>Find out the <code>ahk_class<\/code> of a program with Window Spy (AU3_Spy.exe) which comes bundled with Autohotkey itself.<\/p>\n<h2 id=\"combining-2-hotkeys\">Combining 2 hotkeys<\/h2>\n<p><strong>Check if a hotkey combination is pressed twice<\/strong><\/p>\n<pre><code class=\"language-autohotkey\">~Esc::\n; Esc twice to close an application\nIf (A_PriorHotKey = A_ThisHotKey and A_TimeSincePriorHotkey &lt; 500)\n    WinClose\nReturn\n<\/code><\/pre>\n<p>Gotcha: the <code>A_PriorHotkey<\/code> will only hold values of combinations that are also defined as a hotkey. The value of <code>A_PriorHotkey<\/code> will be exactly as the hotkey is defined.<\/p>\n<p><strong>Follow a hotkey up with an additional keypress<\/strong><\/p>\n<pre><code class=\"language-autohotkey\">; AltGr + C: Change the case of the selected text\n; Follow up with (U)PPER, l(ower) or T(itle)\n&lt;^&gt;!c::\nclipboard =\nSend, ^c\nClipWait, 1\nInput keyPressed, I L1\nif (keyPressed = \"u\") {\n    StringUpper toUpperCase, clipboard\n    Send %toUpperCase%\n} else if (keyPressed = \"l\") {\n    StringLower toLowerCase, clipboard\n    Send %toLowerCase%\n} else if (keyPressed = \"p\" or keyPressed = \"t\") {\n    StringUpper toTitleCase, clipboard, T\n    Send %toTitleCase%\n}\nreturn\n<\/code><\/pre>\n<p><a href=\"https:\/\/autohotkey.com\/docs\/commands\/Input.htm\"><code>Input<\/code><\/a> option <code>L1<\/code> is the maximum allowed length. (L1 -&gt; L5)<\/p>\n<h2 id=\"double-triple-and-long-key-presses\">Double, triple and long key presses<\/h2>\n<h4 id=\"simple-double-keypress\">Simple double keypress<\/h4>\n<p>Map a double <code>\u00b5<\/code> keypress to a smiley.<\/p>\n<pre><code class=\"language-autohotkey\">; File needs to be encoded in UTF8 BOM\n; for a binding of \"\u00b5\" to work.\n$\u00b5::\n    KeyWait, \u00b5\n    KeyWait, \u00b5, D T0.2\n    if ErrorLevel\n        ; No second \u00b5 keypress\n        SendInput \u00b5\n    Else\n        ; Replace double keypress\n        ; with something else\n        SendInput \ud83d\ude00\nReturn\n<\/code><\/pre>\n<h4 id=\"the-whole-shebang\">The whole shebang<\/h4>\n<pre><code class=\"language-autohotkey\">#c::\nDoubleClickTime := DllCall(\"GetDoubleClickTime\") ; in milliseconds\n\n; Wait for 'c' to be released\nKeyWait, c\nif (A_TimeSinceThisHotkey &gt; DoubleClickTime) {\n    Msgbox Longpress\n    return\n}\n\n; Wait for 'c' to be pressed down again (option \"d\")\n; But timeout after T0.5 seconds (If DoubleClickTime is 500)\nKeyWait, c, % \"d T\"DoubleClickTime\/1000\nIf ! Errorlevel\n    Msgbox Doublepress\nelse\n    Msgbox Singlepress\nReturn\n<\/code><\/pre>\n<p><a href=\"https:\/\/autohotkey.com\/docs\/commands\/KeyWait.htm\"><code>KeyWait<\/code><\/a> docs or <a href=\"https:\/\/autohotkey.com\/board\/topic\/51354-singlepress-doublepress-and-pressandhold\/\">more info on the forum<\/a>.<\/p>\n<p><strong>Long middle mouse click with <a href=\"https:\/\/autohotkey.com\/docs\/commands\/GetKeyState.htm\"><code>GetKeyState<\/code><\/a><\/strong><\/p>\n<pre><code class=\"language-autohotkey\">~MButton::\nHowLong = 0\nLoop\n{\n    HowLong++\n    Sleep, 10\n    GetKeyState, MButton, MButton, P\n    IfEqual, MButton, U, Break\n}\nIfLess, HowLong, 20, Return\n\n; Do stuff when middle mouse button was pressed longer than 20ms\n<\/code><\/pre>\n<p><strong>Triple, quadruple etc keypresses<\/strong><\/p>\n<pre><code class=\"language-autohotkey\">; Example #3: Detection of single, double, and triple-presses of a hotkey. This\n; allows a hotkey to perform a different operation depending on how many times\n; you press it:\n#j::\nif winc_presses &gt; 0 ; SetTimer already started, so we log the keypress instead.\n{\n    winc_presses += 1\n    return\n}\n; Otherwise, this is the first press of a new series. Set count to 1 and start\n; the timer:\nwinc_presses = 1\nSetTimer, KeyWinC, -400 ; Wait for more presses within a 400 millisecond window.\nreturn\n\nKeyWinC:\nif winc_presses = 1 ; The key was pressed once.\n{\n    Run, c:  ; Open a folder.\n}\nelse if winc_presses = 2 ; The key was pressed twice.\n{\n    Run, c:windows  ; Open a different folder.\n}\nelse if winc_presses &gt; 2\n{\n    MsgBox, Three or more clicks detected.\n}\n; Regardless of which action above was triggered, reset the count to\n; prepare for the next series of presses:\nwinc_presses = 0\nreturn\n<\/code><\/pre>\n<h2 id=\"morse-hotkeys\">Morse hotkeys<\/h2>\n<p>The <a href=\"https:\/\/autohotkey.com\/board\/topic\/15574-morse-find-hotkey-press-and-hold-patterns\">forum thread on hold patterns<\/a>.<\/p>\n<pre><code class=\"language-autohotkey\">Morse(timeout = 400) {\n   tout := timeout\/1000\n   key := RegExReplace(A_ThisHotKey,\"[*~$#+!^]\")\n   Loop {\n      t := A_TickCount\n      KeyWait %key%\n      Pattern .= A_TickCount-t &gt; timeout\n      KeyWait %key%,DT%tout%\n      If (ErrorLevel)\n         Return Pattern\n   }\n}\n\n; Use Backspace\nBS::MsgBox % \"Morse press pattern \" Morse()\n\n; Alt + Z\n!z::\np := Morse()\nIf (p = \"0\")\n  MsgBox Short press\nElse If (p = \"00\")\n  MsgBox Two short presses\nElse If (p = \"01\")\n  MsgBox Short+Long press\nElse\n  MsgBox Press pattern %p%\nReturn\n<\/code><\/pre>\n<h1 id=\"other-1\">Other<\/h1>\n<h2 id=\"waiting-for-something\">Waiting for something<\/h2>\n<p>Wait for something to happen with <a href=\"https:\/\/autohotkey.com\/docs\/commands\/SetTimer.htm\"><code>SetTimer<\/code><\/a><\/p>\n<pre><code class=\"language-autohotkey\">; Example #2: Wait for a certain window to appear and then alert the user:\n#Persistent\nSetTimer, Alert1, 500\nreturn\n\nAlert1:\nIfWinNotExist, Video Conversion, Process Complete\n    return\n\n; Otherwise:\nSetTimer, Alert1, Off  ; i.e. the timer turns itself off here.\nSplashTextOn, , , The video conversion is finished.\nSleep, 3000\nSplashTextOff\nreturn\n<\/code><\/pre>\n<h2 id=\"suspension\">Suspension<\/h2>\n<pre><code class=\"language-autohotkey\">; Toggle script suspension\n^#s:: ; Control + Win + S\nSuspend\nMsgbox % \"Script is now \" (A_IsSuspended ? \"suspended\" : \"running\")\nReturn\n<\/code><\/pre>\n<p>The <a href=\"https:\/\/autohotkey.com\/docs\/commands\/Pause.htm\"><code>Pause<\/code><\/a> keyword would halt the current thread while <a href=\"https:\/\/autohotkey.com\/docs\/commands\/Suspend.htm\"><code>Suspend<\/code><\/a> stops all hotkeys from triggering.<\/p>\n<p>Start a script with <code>Suspend, Permit<\/code> to have that hotkey still trigger even while the script is suspended.<\/p>\n<h1>Also in this series<\/h1>\n<ul>\n<li>This Part: Autohotkey Tutorial &#8211; hotkeys<\/li>\n<\/ul>\n<h1>Extras<\/h1>\n<p><b>Stuff that came into being during the making of this post<\/b><\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/itenium-be\/Mi-Ke\">The accompanying source on GitHub<\/a><\/li>\n<\/ul>\n<p><b>Other interesting reads<\/b><\/p>\n<ul>\n<li><a href=\"https:\/\/www.autohotkey.com\/docs\/Hotkeys.htm\">Official Hotkeys documentation<\/a><\/li>\n<li><a href=\"https:\/\/autohotkey.com\/docs\/KeyList.htm\">List of Keys (Keyboard, Mouse and Joystick)<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/babin101\/DevKeyboard\" class=\"github\"><img decoding=\"async\" src=\"https:\/\/img.shields.io\/github\/stars\/babin101\/DevKeyboard.svg?style=social&#038;label=Star\" \/><\/a><a href=\"https:\/\/github.com\/babin101\/DevKeyboard\">babin101\/DevKeyboard<\/a>: Hold down a key to send a different key<\/li>\n<li><a href=\"https:\/\/autohotkey.com\/board\/topic\/15574-morse-find-hotkey-press-and-hold-patterns\/\">Morse code by Laszlo<\/a><\/li>\n<\/ul>\n<h1>Updates<\/h1>\n<ul>\n<li> 28 March 2023: Added double keypress hotkey example<\/li>\n<li> 25 August 2018<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>First we\u2019ll cover the basic Autohotkey hotkey syntax. Which is arguably already pretty confusing for newcomers in and by itself.<\/p>\n<p> But we don\u2019t stop there as after adding more and more hotkeys, it will also become harder and harder to think of new key combinations that are somehow still memorable. There is only so much you can do with the <code>#<\/code> (Windows) key etc.<\/p>\n<p> Time for some creative hotkey combinations! \u2018Advanced Hotkeys\u2019 covers code snippets on how to run different scripts on single, double or triple key presses as well as how to differentiate between long(ish) key presses or mouse clicks. And more\u2026<\/p>\n<h1 class=\"hide-from-excerpt\" id=\"example\">Example<\/h1>\n<pre><code class=\"language-autohotkey\">; Single line hotkey\n^#D::MsgBox Pressed Control + Win + D (%A_ThisHotKey%)\n\n; Control + Win + C: Multi line script\n^#C::\nRun, notepad.exe\nWinWait, Untitled - Notepad, , 3\nSend, Dear sir,{enter}{enter}\nReturn\n<\/code><\/pre>\n","protected":false},"author":1,"featured_media":2104,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[19],"tags":[36],"class_list":["post-1651","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-productivity","tag-autohotkey"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Autohotkey Tutorial - hotkeys - Itenium<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Autohotkey Tutorial - hotkeys - Itenium\" \/>\n<meta property=\"og:description\" content=\"First we\u2019ll cover the basic Autohotkey hotkey syntax. Which is arguably already pretty confusing for newcomers in and by itself. But we don\u2019t stop there as after adding more and more hotkeys, it will also become harder and harder to think of new key combinations that are somehow still memorable. There is only so much you can do with the # (Windows) key etc. Time for some creative hotkey combinations! \u2018Advanced Hotkeys\u2019 covers code snippets on how to run different scripts on single, double or triple key presses as well as how to differentiate between long(ish) key presses or mouse clicks. And more\u2026Example ; Single line hotkey ^#D::MsgBox Pressed Control + Win + D (%A_ThisHotKey%) ; Control + Win + C: Multi line script ^#C:: Run, notepad.exe WinWait, Untitled - Notepad, , 3 Send, Dear sir,{enter}{enter} Return\" \/>\n<meta property=\"og:url\" content=\"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/autohotkey-hotkeys\/\" \/>\n<meta property=\"og:site_name\" content=\"Itenium\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-27T20:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-28T12:31:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/demo.sidekick.be\/itenium\/wp-content\/uploads\/2025\/11\/hotkeys.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"360\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Usdevelop\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Usdevelop\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/autohotkey-hotkeys\/\",\"url\":\"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/autohotkey-hotkeys\/\",\"name\":\"Autohotkey Tutorial - hotkeys - Itenium\",\"isPartOf\":{\"@id\":\"https:\/\/demo.sidekick.be\/itenium\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/autohotkey-hotkeys\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/autohotkey-hotkeys\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/demo.sidekick.be\/itenium\/wp-content\/uploads\/2025\/11\/hotkeys.jpg\",\"datePublished\":\"2023-03-27T20:00:00+00:00\",\"dateModified\":\"2025-11-28T12:31:46+00:00\",\"author\":{\"@id\":\"https:\/\/demo.sidekick.be\/itenium\/#\/schema\/person\/6ab401ce01e858184ee4a8667fe0f022\"},\"breadcrumb\":{\"@id\":\"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/autohotkey-hotkeys\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/autohotkey-hotkeys\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/autohotkey-hotkeys\/#primaryimage\",\"url\":\"https:\/\/demo.sidekick.be\/itenium\/wp-content\/uploads\/2025\/11\/hotkeys.jpg\",\"contentUrl\":\"https:\/\/demo.sidekick.be\/itenium\/wp-content\/uploads\/2025\/11\/hotkeys.jpg\",\"width\":360,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/autohotkey-hotkeys\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/demo.sidekick.be\/itenium\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Autohotkey Tutorial &#8211; hotkeys\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/demo.sidekick.be\/itenium\/#website\",\"url\":\"https:\/\/demo.sidekick.be\/itenium\/\",\"name\":\"Itenium\",\"description\":\"We build software. We build careers.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/demo.sidekick.be\/itenium\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/demo.sidekick.be\/itenium\/#\/schema\/person\/6ab401ce01e858184ee4a8667fe0f022\",\"name\":\"Usdevelop\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/demo.sidekick.be\/itenium\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/cc8cf9b9e9d5bbe7e8d247907cc9ac8457bbfa2854b52eaddf6529adfe88ceab?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/cc8cf9b9e9d5bbe7e8d247907cc9ac8457bbfa2854b52eaddf6529adfe88ceab?s=96&d=mm&r=g\",\"caption\":\"Usdevelop\"},\"sameAs\":[\"https:\/\/demo.sidekick.be\/itenium\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Autohotkey Tutorial - hotkeys - Itenium","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_US","og_type":"article","og_title":"Autohotkey Tutorial - hotkeys - Itenium","og_description":"First we\u2019ll cover the basic Autohotkey hotkey syntax. Which is arguably already pretty confusing for newcomers in and by itself. But we don\u2019t stop there as after adding more and more hotkeys, it will also become harder and harder to think of new key combinations that are somehow still memorable. There is only so much you can do with the # (Windows) key etc. Time for some creative hotkey combinations! \u2018Advanced Hotkeys\u2019 covers code snippets on how to run different scripts on single, double or triple key presses as well as how to differentiate between long(ish) key presses or mouse clicks. And more\u2026Example ; Single line hotkey ^#D::MsgBox Pressed Control + Win + D (%A_ThisHotKey%) ; Control + Win + C: Multi line script ^#C:: Run, notepad.exe WinWait, Untitled - Notepad, , 3 Send, Dear sir,{enter}{enter} Return","og_url":"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/autohotkey-hotkeys\/","og_site_name":"Itenium","article_published_time":"2023-03-27T20:00:00+00:00","article_modified_time":"2025-11-28T12:31:46+00:00","og_image":[{"width":360,"height":300,"url":"https:\/\/demo.sidekick.be\/itenium\/wp-content\/uploads\/2025\/11\/hotkeys.jpg","type":"image\/jpeg"}],"author":"Usdevelop","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Usdevelop","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/autohotkey-hotkeys\/","url":"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/autohotkey-hotkeys\/","name":"Autohotkey Tutorial - hotkeys - Itenium","isPartOf":{"@id":"https:\/\/demo.sidekick.be\/itenium\/#website"},"primaryImageOfPage":{"@id":"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/autohotkey-hotkeys\/#primaryimage"},"image":{"@id":"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/autohotkey-hotkeys\/#primaryimage"},"thumbnailUrl":"https:\/\/demo.sidekick.be\/itenium\/wp-content\/uploads\/2025\/11\/hotkeys.jpg","datePublished":"2023-03-27T20:00:00+00:00","dateModified":"2025-11-28T12:31:46+00:00","author":{"@id":"https:\/\/demo.sidekick.be\/itenium\/#\/schema\/person\/6ab401ce01e858184ee4a8667fe0f022"},"breadcrumb":{"@id":"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/autohotkey-hotkeys\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/autohotkey-hotkeys\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/autohotkey-hotkeys\/#primaryimage","url":"https:\/\/demo.sidekick.be\/itenium\/wp-content\/uploads\/2025\/11\/hotkeys.jpg","contentUrl":"https:\/\/demo.sidekick.be\/itenium\/wp-content\/uploads\/2025\/11\/hotkeys.jpg","width":360,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/autohotkey-hotkeys\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/demo.sidekick.be\/itenium\/"},{"@type":"ListItem","position":2,"name":"Autohotkey Tutorial &#8211; hotkeys"}]},{"@type":"WebSite","@id":"https:\/\/demo.sidekick.be\/itenium\/#website","url":"https:\/\/demo.sidekick.be\/itenium\/","name":"Itenium","description":"We build software. We build careers.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/demo.sidekick.be\/itenium\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/demo.sidekick.be\/itenium\/#\/schema\/person\/6ab401ce01e858184ee4a8667fe0f022","name":"Usdevelop","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/demo.sidekick.be\/itenium\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/cc8cf9b9e9d5bbe7e8d247907cc9ac8457bbfa2854b52eaddf6529adfe88ceab?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/cc8cf9b9e9d5bbe7e8d247907cc9ac8457bbfa2854b52eaddf6529adfe88ceab?s=96&d=mm&r=g","caption":"Usdevelop"},"sameAs":["https:\/\/demo.sidekick.be\/itenium"]}]}},"_links":{"self":[{"href":"https:\/\/demo.sidekick.be\/itenium\/wp-json\/wp\/v2\/posts\/1651","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/demo.sidekick.be\/itenium\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/demo.sidekick.be\/itenium\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/demo.sidekick.be\/itenium\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/demo.sidekick.be\/itenium\/wp-json\/wp\/v2\/comments?post=1651"}],"version-history":[{"count":3,"href":"https:\/\/demo.sidekick.be\/itenium\/wp-json\/wp\/v2\/posts\/1651\/revisions"}],"predecessor-version":[{"id":2311,"href":"https:\/\/demo.sidekick.be\/itenium\/wp-json\/wp\/v2\/posts\/1651\/revisions\/2311"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/demo.sidekick.be\/itenium\/wp-json\/wp\/v2\/media\/2104"}],"wp:attachment":[{"href":"https:\/\/demo.sidekick.be\/itenium\/wp-json\/wp\/v2\/media?parent=1651"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/demo.sidekick.be\/itenium\/wp-json\/wp\/v2\/categories?post=1651"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/demo.sidekick.be\/itenium\/wp-json\/wp\/v2\/tags?post=1651"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}