I want to remap the Caps Lock key to send Ctrl+Alt+Shift, but I want to also send any keys that I pressed after it.

For example, if I press Caps Lock+t then I want AHK to send Ctrl+Alt+Shift+t likewise, if I press Caps Lock+j then I want to send Ctrl+Alt+Shift+j.

The following doesn't work because it sends it before I press any trailing keys. (i'm doing this so I can map shortcuts to Ctrl+Alt+Shift+[key] and use the Caps Lock key to execute them.

Capslock::send {^~+}
  • Probably should be on SO.
    – Hello71
    Jul 27 '10 at 17:00
  • Related question that may or may not help you: superuser.com/questions/168335/…
    – JNK
    Jul 27 '10 at 17:01
  • 3
    @Hello71 - Do they send AHK stuff to SO? I thought it seemed appropriate to be here.
    – JNK
    Jul 27 '10 at 17:02
  • @JNK: I guess it's more complicated AHK questions that get migrated to SO, doing a quick check.
    – Hello71
    Jul 27 '10 at 19:33
  • 1
    Be aware that in AutoHotkey Alt is ! not ~.
    – Bavi_H
    Jul 30 '10 at 4:08

I looked in the AutoHotkey help file under "Remapping keys and buttons". The general pattern is a::b will make pressing key a send key b instead. However, I couldn't get any of the following to work properly.


But that same help page describes how AutoHotkey internally translates the a::b remapping into two hotkey mappings. I used that example to make the following working script.

  SetKeyDelay -1
  Send {Blind}{Ctrl DownTemp}{Alt DownTemp}{Shift DownTemp}

*CapsLock up::
  SetKeyDelay -1
  Send {Blind}{Ctrl Up}{Alt Up}{Shift Up}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.