Wednesday, July 6, 2011

Re: Caps Lock indication

Reply to message «Re: Caps Lock indication»,
sent 21:53:33 06 July 2011, Wednesday
by Михаил Голубев:

Yes, replacing caps lock with something more useful is the best solution for me:
I have left control there (and Esc on `real' left control). First is done by
ctrl:nocaps xkb option, second by line `keycode 37 = Escape' in ~/.Xmodmap (on
your machine number after `keycode' may differ).

Of course, this works only for X server. I don't know any windows or mac
solutions for this problem.

Original message:
> Nice advices! Thanks a lot!
>
> I did a bit of googling and I think it's time come to dismiss this naughty
> key)
>
> Best regards,
> Mikhail Golubev
>
> 2011/7/6 ZyX <zyx.vim@gmail.com>
>
> > Reply to message <<Re: Caps Lock indication>>,
> > sent 20:08:16 06 July 2011, Wednesday
> >
> > by Михаил Голубев:
> > > Thanks for your attention and explanation Tony. So I will continue to
> > > guess Caps Lock state looking at mess on my screen :) and try to find
> > > another appropriate solution of my problem.
> >
> > Answer <<it can't>> is false. While there is no possible
> > system-independent solutions in pure vimscript, system-dependent and/or
> > not pure vimscript solutions are possible: on linux (and any other
> > system that uses X server), for
> > example, you can invoke `xset q' (if xset is installed) and parse its
> > output to
> > get CapsLock state; maybe there is also some `file' in /proc or /sys
> > which can
> > be used for this purpose (I don't know for sure) (if it is, then you
> > could write
> > faster pure vimscript system-dependent solution). It also is not
> > impossible that
> > some python/perl/ruby/lua/... package contains cross-platform function
> > getCapsLockState.
> >
> > You should seek appropriate solution in this direction.
> >
> > Original message:
> > > Thanks for your attention and explanation Tony. So I will continue to
> > > guess Caps Lock state looking at mess on my screen :) and try to find
> > > another appropriate solution of my problem.
> > >
> > > Best regards,
> > > Golubev Mikhail
> > >
> > > On 6 июл, 19:01, Tony Mechelynck <antoine.mechely...@gmail.com> wrote:
> > > > On 06/07/11 16:01, Михаил Голубев wrote:
> > > > > Hello to everyone.
> > > > >
> > > > > I want to write small function for my 'statusline' option, so it
> >
> > shows
> >
> > > > > whether Caps Lock button was pressed or not. I work on laptop and
> > > > > "analog" led indicator is right under my wrist so I don't see it at
> > > > > all. Do you have any assumptions how this can be done?
> > > > >
> > > > > Thanks in advance!
> > > > >
> > > > > Best regards,
> > > > > Golubev Mikhail
> > > >
> > > > Short answer: It can't.
> > > >
> > > > Long answer: Vim cannot tell the current Caps Lock / Shift Lock /
> >
> > Scroll
> >
> > > > Lock state, it doesn't know when a key was released but only that it
> >
> > was
> >
> > > > pressed, and it doesn't know the Shift / Scroll / Alt state except
> > > > sometimes (and not always in a way that vimscript can read) when some
> > > > "ordinary" key gets pressed. And to make everything even more
> > > > complex, there are some keys or key combinations that Vim never sees
> > > > because
> >
> > they
> >
> > > > are snatched away before it can get them (e.g. on KDE Ctrl-F7 means
> > > > "switch to virtual desktop #7", on Linux Ctrl-Alt-F5 means "switch to
> > > > virtual text console #5 aka /dev/tty5); and in console mode it is
> > > > also dependent on the underlying terminal for what, if anything, if
> > > > will see for any particular key or key combination: for instance it
> > > > is a well known (and intentional) fact that Shift makes no
> > > > difference in conjunction with Ctrl-A to Ctrl-Z.
> > > >
> > > > Best regards,
> > > > Tony.
> > > > --
> > > > World War Three can be averted by adherence to a strictly enforced
> > > > dress code!

No comments: