It seems this has made its way into HEAD!
Is this worth of a pref in the UI?

On Sep 30, 1:37 pm, "björn" <[EMAIL PROTECTED]> wrote:
> Hi all,
>
> The possibility to remap Caps-Lock to function as a second Escape key
> has been brought up before.  I never thought about this much before,
> but being able to use Caps-Lock as Esc really makes a whole lot of
> sense so I decided to see what could be done about this.
>
> It turns out that Mac OS X lets you remap Caps-Lock to function as
> Ctrl, Alt, or Cmd, which is useful for Emacs I guess, but not so much
> with Vim.  But that got me thinking: maybe the Caps-Lock key can still
> be identified by some virtual key code.  If so, I could remap
> Caps-Lock to Ctrl (for instance) and then check when Ctrl was pressed
> if the actual key pressed really was Caps-Lock.  Unfortunately I
> couldn't figure out a way to do this (Caps-Lock sends the same key
> code as the modifier you remap it to), so I had to hack it a bit.
>
> The attached patch will let you turn one of the _left_ modifier keys
> into a sort of pseudo-Esc key: the modifier will work as usual, unless
> it is pressed and released quickly (with no intervening key presses)
> in which case it sends an Esc key event.  I use it as follows: first I
> go into the System Preferences and remap Caps-Lock to Ctrl.  Then I
> can happily use Caps-Lock as Esc but also as a Ctrl key (useful for
> Ctrl-f, etc.).
>
> The only downside I've noticed so far is that Caps-Lock feels somewhat
> sluggish as Esc, since the Esc event is sent when you release
> Caps-Lock.  If this bothers anybody I've added an option to send the
> Esc event on key down but that will effectively disable the chosen
> modifier key.  However, it only turns the _left_ modifier key into
> Esc.  So, it is possible to e.g. remap Caps-Lock to Alt and then use
> the _right_ Alt as a normal Alt key (I have two Alt keys, but only one
> Ctrl on my keyboard, and I rarely use Alt anyway).  I'm not sure
> anybody wants to do this...I think I may use it myself if the
> sluggishness bothers me (otherwise I'll stick with Caps-Lock as Ctrl).
>
> To use:
>
> 1. Apply patch and recompile
> 2. Enter "System Preferences -> Keyboard & Mouse -> Modifier Keys..."
> and remap Caps-Lock to Ctrl
> 3. Open Terminal and type (one line): defaults write org.vim.MacVim
> MMFakeEscModifier 1
> 4. Start MacVim and use Caps-Lock as Escape/Ctrl!
>
> If you want to use another modifier key, or if you want Caps-Lock to
> send Esc on key down, then read the commit message:
>
>     Modifier key sends Esc
>
>     Adds possibility to make the left Ctrl, Alt, or Cmd key function as a
>     second Esc key.  The key will still function as a modifier if held down
>     in conjunction with another key.  Enable by setting the user default
>     "MMFakeEscModifier" to:
>         1 = Left Ctrl
>         2 = Left Alt
>         3 = Left Cmd
>         any other number disables this functionality
>
>     By remapping Caps-Lock to one of the above modifier keys this enables
>     the use of Caps-Lock as a second (and easy to reach) Esc key.  Caps-Lock
>     can be remapped inside "System Preferences -> Keyboard & Mouse ->
>     Modifier Keys...".
>
>     The Esc event is send when the modifier key is released.  If the key is
>     not released within a predefined timeout, then no Esc event is
>     generated.  The timeout can be changed by setting the user default
>     MMFakeEscTimeout (a float, specifying the timeout in seconds).
>
>     The fact that the Esc event is sent on release makes it feel somewhat
>     sluggish.  It is possible to have the event sent when the modifier key
>     is pressed by setting the user default "MMFakeEscOnKeyDown" but then the
>     left modifier key can only be used as an Esc key.
>
> Let me know what you think about the patch.
>
> Björn
>
>  0001-Modifier-key-sends-Esc.patch
> 11KViewDownload

--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_mac" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Reply via email to