Maybe we should use soft implement to enable/disable caps:
http://www.vim.org/scripts/script.php?script_id=1725
I have tried this, but I really want vim can display caps lock status.
And I only have Cygwin, of course can't use xset command.
If vim support CAPSLOCK key's map, this is not a problem:)
--------------------------------------------------
>
> Ricky wrote:
>
>> Hi
>>
>> I want to see the caps lock's status more easily, how to display caps
>> lock status in status line?
>> It seems that vim don't support.
>
> You can query the status of the LEDs (LED caps lock among other
> things) with the Linux command "xset q".
>
> I tried the following but it is not fully satisfactory. Perhaps someone
> can improve on it:
>
> func! ShowCapsLockStatus()
> let xs = system('xset q')
> let mask = matchstr(xs, 'LED mask:\s*\zs\d\+')
> return ((mask % 2) == 0) ? 'off' : 'on'
> endfunction
>
> Then you can add something like this in your status line:
>
> set statusline+=%{ShowCapsLockStatus()} " show caps lock status
>
> However, it is far from being ideal:
> - the statusline is not refreshed immediately when pressing Caps-Lock
> (you need to move the cursor for example to see it being refreshed)
> There is no asynchronous event to notify when Caps-Lock key was
> pressed as far as I know.
> - ShowCapsLockStatus() messes up display in xterm terminal
> when I move the cursor with the up, down, left, right keys. I see some
> ^[OA or ^[OB showing up on the screen. Why?
> Pressing CTRL-L or :redr! makes them disappear.
> I don't see that in gvim.
> - And of course "xset q" will only work on Linux
>
> Regards
> -- Dominique
--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_use" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---