emacs-devel
[Top][All Lists]
Advanced

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

Re: Switch Meta and Alt modifiers


From: Kai Großjohann
Subject: Re: Switch Meta and Alt modifiers
Date: Sun, 24 Feb 2002 20:10:17 +0100
User-agent: Gnus/5.090006 (Oort Gnus v0.06) Emacs/21.2.50 (i686-pc-linux-gnu)

Jason Rumney <address@hidden> writes:

> address@hidden (Kai Großjohann) writes:
>
>> I'm not sure but I think that this does not encompass all of the
>> Windows functionality.
>
> Probably not, but it would be nice if the functionality that it does
> encompass could be the same.

I agree on that.

>> So the closest we could get with the platform-independent mechanism
>> is to choose some modifier for the <lwindow> key and to have a
>> boolean variable which chooses whether <lwindow> is seen as that
>> modifier or as a normal key.
>> 
>> But this looses functionality.
>
> I don't see which functionality has been lost. The only difference
> seems to be that we would have two variables to control it instead of
> one variable with an overloaded meaning.

For any key foo with a variable w32-foo-modifier, the modifier that
is used for that key can be freely chosen via that variable,
independent of any other key.

But if we choose the same modifier for the key foo1 as well as the
key foo2, then the new mechanism can't assign them different
`modifier meanings'.  For example, suppose we decide that lwindow and
rwindow should both map to hyper.  Then no amount of remapping of H-x
(for any x) events could distinguish between lwindow and rwindow in
the platform-independent code.  But the current code has no problem
with assigning lwindow and rwindow different `modifier meanings'.

So, we have modifiers hyper and super which aren't already taken, but
we have three keys lwindow, rwindow and menu (sp?).  So two of these
need to share the same modifier.

The above assumes that some functionality should be removed from the
w32 code.  The point is, of course, moot if the current functionality
should stay as is.  (Then, people could say that lwindow should be a
hyper key, and then they could remap H-x events into A-x events using
the platform independent code.  And then they could get confused :-)

But maybe my view of what can be done in the platform independent code
is too narrow?  My idea is that the user (conceptually) specifies a
table which says, for example: whenever Emacs sees a H-<something>
event, it should be rewritten into an A-<something> event.  An
optional extension would be that the user can specify combinations of
modifiers, so that, for instance, all C-H-<something> events are
rewritten into M-s-<something> events.

But please bear in mind that I don't use Windows, and I haven't spent
much time reading the w32 code in Emacs.  So my idea of what the
current code might be doing may be way off.  Thus, if any of the
above sounds strange to you, please don't hesitate to tell me to go
back to RTFM or UTSL.  (But please include a pointer so I know where
to start.)

kai
-- 
~/.signature is: umop 3p!sdn    (Frank Nobis)



reply via email to

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