emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Key bindings proposal


From: Drew Adams
Subject: RE: Key bindings proposal
Date: Fri, 13 Aug 2010 17:01:04 -0700

> Alt is "hyper" and the windows key is "super".  PC keyboards don't
> have a "meta".

The PC keyboards I've seen do not have a Hyper key or a Super key either - no
such key labels.  Maybe some PC keyboards do, but the average "everyday" one
does not.

If you want to call the ALT key "Hyper" and the Window key "Super", feel free.
In Emacs, by default we call the ALT key "Meta" (or rather we map the physical
key ALT to the logical key Meta).

> Therefore, the systems that want a meta-key map one of
> these to meta.
>
> It looks like desktops such as KDE and Gnome map the
> windows key as meta, and their users, who presumably contributed to
> the Wikipedia article, say "windows key is also known as the
> meta-key".

Sounds to me more like the KDE and Gnome crowd tried to fit in with Windows and
its users to some extent, by mirroring some of its use of ALT for the OS (window
mgr). ;-)

ALT is a very old key.  Its use by Emacs as Meta is nearly as old.  Use of ALT
by the OS (or window mgr) to do the kinds of things it does for KDE, Gnome, and
Windows is much more recent.

In the old days, before the Almighty Windows, ALT was not used for such things
by the OS or window mgr - at least not the ones I used back then (Control Data,
Univac, IBM, VAX/VMS, various UNIXen,...).  AFAIK, Windows was the one to spread
window-mgr use of ALT far and wide.  In this regard, KDE and Gnome are just
come-lately ugly ducklings waddling to keep up with their Microsoft mom.

If I had to guess (again), I'd guess that KDE & Gnome imitated (shudder!)
Windows to some extent, to try to "fit in" with its user base - precisely the
kind of argument we've been hearing here ("Gee Dad, everyone else is doing
it!").  So to now point to KDE and Gnome as desktops in the GNU/Linux camp that
also use ALT somewhat similar to how Windows uses it is a bit disingenuous.

> They are not exactly right, but I admire their diligence
> in countering the Microsoft corporatization of the everyday keyboard.

Hm.  You push for Windows-compatible behavior while spearheading the attack on
MS.  OK.  I do too sometimes.

To be clear, I have no problem with some of the positive UI ideas introduced by
Windows (i.e. by MS, although often originally by Xerox and others).  I've tried
to add some such features to Emacs myself.  But it does sound curious that you
trumpet KDE/Gnome's "countering of MS" while defending their imitating Windows'
use of ALT.

And you have the cart before the horse.  The PC keyboard does not risk
_becoming_ MS-corporatized.  Your "everyday keyboard" was _engendered_ by
Microsoft and its partner at the time, IBM.  You don't need to save the PC
keyboard from MS; you need to thank or blame MS for it in the first place.

The PC keyboard is the ubiquitous, everyday keyboard precisely _because_ of MS
and Windows and PCs.  Use of PC keyboards with anything other than MS (DOS and
then Windows) is a recent and still largely marginal development, albeit
welcome.

> Such spirit seems to be sadly lacking on this mailing list :-(

I really think you're out there on a limb sawing strong, if you think that this
mailing list is lacking in "diligence in countering the Microsoft
corporatization of the everyday keyboard" (or countering Microsoft tout court).
You want Emacs to roll over and adapt to MS's use of ALT, but somehow the rest
of us are caving in to MS?  What am I missing?

> > I would even guess that most Windows users never use the ALT key in
> > a Windows-specific way (except for CONTROL-ALT-DELETE) and never use
> > the Window key at all.  For one thing, most are not programmers
> > (another guess), and most interact with Windows using the mouse most
> > of the time, not the keyboard.  And my guess is that _very_ few
> > (proportionally) users of Windows use menu accelerators.
> 
> I think the issues of "most Windows users" are not relevant here.
> This is emacs-developers mailing list after all.  We are only
> interested in Windows users that also use Emacs.  And, these users can
> learn key bindings if they think they are useful.

OK, so what do we know about Windows users who are already Emacs users?  What
proportion of _them_ use menu accelerators or other Windows-specific uses of
ALT?  Do you know?

Personally, I do not limit the set of potential Emacs users to those who already
use it.  And I do not limit it to programmers either.  (I don't claim I am
typical in this regard.)  I see no reason why other, non-programmer users of
Windows might not become Emacs users.  There are some already.

> > Being able to use menu accelerators or use the Window key as Meta
> > (or as Control or Super or Hyper or...) as an _optional_ behavior is
> > one thing.  AFAIK, no one has objected to that, so if that is all
> > you are arguing about then the story should be over and done.
> 
> That is indeed what we are arguing about, because Yidong has said (on
> 8 Aug):
> 
> > Even for non-default usage, putting Emacs in charge of the 
> > Windows key seems unacceptable.  This is the domain of the
> > operating system.

Then you are arguing only with Yidong.  I have not seen anyone argue that Emacs
should not offer such an option.  On the contrary, I've seen several people who
disagree with many of your points agree that there is _no_ problem in principle
with Emacs offering such an option.  I'm one of them.

The devil might be in the details of design or implementation, however - dunno.

If the implementation were trivial, then there would be no hullaballoo.  Suppose
that you could send in a simple Lisp minor mode that let users use Windows
accelerators or use the Window key for Meta.  Piece of cake.  I doubt that even
Yidong would object in that case (but I do not know that).

But much more than that is involved apparently, and I suspect that might be
where Yidong's resistance in this regard is coming from.  If the ability to
provide this as an option involves reworking lots of important C code that no
one understands clearly, then that reworking had better be careful, correct, and
worth it.

> Both Lennart and I have clarified many times that we are not arguing
> about defaults.  We are arguing about capabilities.  Emacs, at the
> moment, does not have the capability to treat the windows key as
> meta.  Lennart knows how to do it, and he can possibly be persuaded to
> provide a patch, but welcoming his idea a bit more warmly on this
> mailing list would be a good first step.

I, for one, do welcome Lennart's idea warmly, if the idea is to provide such a
thing as an option.  Just as I warmly welcome his idea of letting Emacs users
take advantage of Windows menu accelerators.  (I adapted my own Lisp library
lacarte.el to fit that feature from his library menuacc.el many years ago.)
I've said this several times now.

And I really do not see _any_ opposition to such an idea.  But the code
providing such optional behavior needs to be clear - and truly optional.  No one
is going to immediately adopt a wholesale rewrite of lots of basic Emacs C code
without it being clear and complete and tested, and without the pros and cons
(of the implementation) being investigated closely.

Above all, the behavior needs to be truly optional.  With the option turned off
by default, the code changes, whatever they are, need to amount to a no-op.

I have not followed the implementation discussion, but from what I gathered
things are not so clear.  Others will have to judge that, not I.

> > And ALT as Meta in Emacs is as old as the hills and as common as
> > their wildflowers.  What does Wikipedia say about that?  Does it
> > tell you that using ALT as Meta "is *frequently* done" in Emacs?
> 
> Come on.  Meta keys existed before Bill Gates learnt to program, and
> Emacs has existed long before the PC keyboards came on the scene.

Precisely.  If by "Meta" you mean using ALT as a Meta key.  Yes, that predates
Bill and PCs.  That was the point of the text you quoted.  It is surely a lot
more "*frequently* done" to use ALT than the Window key for Meta.

> Treating ALT as meta on PC keyboards was a natural choice because they
> were free modifier keys.  Nobody is faulting Emacs for having done
> that.  But, the current position is that enough keyboards have the
> windows/super key and Microsoft has unlocked it on Windows, according
> to Lennart.  And, using the windows/super key as meta provides
> significant advantages in enabling keyboard access to the Emacs
> menubar.

Having any such key available provides significant advantages, no matter what
behavior is mapped to it.  I'm in favor of letting Emacs users bind the Window
key to whatever they want.  If it is "unlocked" then it should be easy for Emacs
users to bind it to whatever they want, no?

And if it is _not_ easy to do that out of the box, then I, for one, welcome code
that will help users do that.  Being able to bind the Window key to Meta, as one
possibility, one option, can only be a positive feature - IMO at least.

But the cost (e.g. implementation) has to be worth it.  I do not see opposition
to the _idea_ of such a feature.  I do see reluctance to simply gulp down
whatever brew Lennart has on tap.  Again, I cannot speak to the implementation.
Personally I am in favor of such an option, _other things being equal_.  And
that is so even though I will no doubt never use such an option myself.  I like
Emacs to offer everything to everyone - provided the cost is reasonable.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]