[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#19994: 25.0.50; Unicode keyboard input on Windows
From: |
Ilya Zakharevich |
Subject: |
bug#19994: 25.0.50; Unicode keyboard input on Windows |
Date: |
Wed, 8 Jul 2015 17:02:59 -0700 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Wed, Jul 01, 2015 at 03:07:12AM -0700, Ilya Zakharevich wrote:
> On Wed, Mar 04, 2015 at 08:01:01PM +0200, Eli Zaretskii wrote:
> > I suggest, indeed, to clean up the code so we could commit it to the
> > master branch. That way, it will get wider testing, and we can fix
> I had no time to work on the code itself, but
> • I fixed the formatting,
> • I pumped up the docs,
> • I put in the suggested eassert().
The variant I sent was too primitive — it was not covering a (common?)
usage case when (with AltGr-layouts) leftCtrl+rightCtrl was behaving
differently than pressing AltGr:
• leftCtrl+rightCtrl would trigger C-M-key;
• altGr would enter the character payload.
This update
(0) fixes two formatting-style omissions;
(A) adds A LOAD of new comments;
(B) treats such important cases (as above) separately;
(z) Marks a piece of old code which does not make any sense.
(see the last chunk in the relative patch)
Notes:
• In (B), there are some decisions to make. I encapsulate these
decisions into two strings. For best result, these strings should
be user-customizable. However, currently they are just put into
C #defines.
When I sit on this more, and if these customizations turn out to
be useful, one can make them into Lisp variables.
• There is a bug in the (old) Emacs code which prevents some cases
treated in (B) from being really useful. I did not fix it yet.
To see the bug:
∘ switch to layout with AltGr;
∘ assume that AltGr-s produces ß (as with US International);
∘ pressing AltGr-rightControl-s produces Meta-ß;
∘ pressing rightControl-AltGr-s produces C-M-s.
(I do not think this effect is intentional.)
• And, BTW, is it documented anywhere that
leftControl-rightControl-key produces C-M-key?
I include two patches:
□ absolute (ignore the previous patches)
□ relative (with whitespace ignored) — for reading.
Enjoy,
Ilya
w32fns.c-diff-v2
Description: Text document
w32fns.c-diff-v2-relative
Description: Text document