5

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

1 Answer 1

11

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.

CapsLock::^!+
CapsLock::^!Shift
CapsLock::^!LShift

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.

*CapsLock::
  SetKeyDelay -1
  Send {Blind}{Ctrl DownTemp}{Alt DownTemp}{Shift DownTemp}
return

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .