It seems like this article by Steve Losh has been making the rounds, and in short, it led me to remap Caps Lock to F19, and at the system level, to remap F19 to Shift-Command-Ctrl-Alt, thus giving me an entire namespace for my own keyboard shortcuts.
The problem is I enjoyed using Caps Lock as my escape key in Vim.
I tried :map <M-C-D-S> <esc>, but upon sourcing, hitting caps lock doesn’t do anything. I’m guessing it’s because Vim expects an actual key to be pressed with the modifiers.
My question is: is it possible to have Vim read Shift-Cmd-Ctrl-Alt as Escape?
My original question suffers as an XY Problem.
I wanted to Vim to read Caps Lock as Esc (while still maintaining the other crazy system-level modifications), so I asked about functionality that Vim doesn’t have.
Turns out, while the answers provided above were great, on point, and informative, I just don’t like being told ‘no.’ And I was searching for answers in the wrong problem space.
One of the applications discussed in the OP’s link, KeyRemap4MacBook, is highly extensible. The documentation leaves much to be desired, but I was able to piece together a solution in line with my original question. This diverges sharply from the original topic of “map stuff in vim,” and for that I apologize, but I hope to leave this in posterity for the one poor soul that needs this.
Simply put, the previous article recommends adding this to KR4MB’s ‘private.xml’ file:
(modified slightly for Caps Lock)
This can instead be changed to:
This tells the system that whenever Caps Lock is pressed alone, it’s actually Esc, but if it’s pressed in conjunction with any other key, it’s F19.