Using the Canadian Multilingual Standard keyboard with WindowsXP
Fri Jul 16 14:04:00 GMT 2010
On 13/07/2010 20:30, Young, George wrote:
> I tried the patch and am very impressed. My WinXP was set up with
> English-Canada and 2 keyboards, Canadian Multilingual Standard and US. When
> I ran the cygwin patch, it added English-US with a US Keyboard, and
> switched to that.
Thanks for trying it out.
Hmm... this is a rather unfortunate side-effect of loading the US keyboard
layout, and there doesn't seem to be a good way of preventing it appearing in
the language bar.
I think maybe I should try the alternate approach of handling VK_OEM_8
correctly and trying to work out why the code to discard the spurious Ctrl-L
key events isn't always working (it works fine for me)
I've uploaded another build at  which tries that, with lots of extra
debugging built in. I wonder if you could check if Ctrl-R deadkeys work
correctly with that, and also if you could provide me with the output of 'tail
-f /var/log/XWin.0.log' and xev from pressing AltGr.
> In cygwin, the RightAlt and RightControl do what they're supposed to do
> (almost). There still seems to be a small problem with dead key stuff.
> When I first run the cygwin server, and press the keys for dead-cedilla
> (RtCtrl and =) then c, it just gives c. If I then run xev and stop it, the
> dead keys start to work and it gives Ã§.
I'm afraid I can't reproduce this, I always get a Ã§, but I may not be doing
the right thing. Can you give me some more detailed steps about how you are
starting the Xserver, and the application you are typing into?
> Good stuff, George R. Young
> -----Original Message----- From: Jon TURNEY
> [mailto:firstname.lastname@example.org] Sent: July 13, 2010 2:41 PM To:
> email@example.com Cc: Young, George Subject: Re: Using the Canadian
> Multilingual Standard keyboard with WindowsXP
> On 02/07/2010 14:27, Young, George wrote:
>> With WIN XP keyboard set to Canadian Multilingual Standard: Run xev,
>> press Right Alt
> [xev output snipped]
> Thanks. This helps a lot in understanding the problem.
> There seem to be two things going on here:
> 1) In the Canadian Multilingual Standard layout, Ctrl-R is VK_OEM_8 (rather
> than the more normal VK_CONTROL) which isn't in the mapping table to ignore
> the VK code and use the scan code.
> 2) Windows generates an additional Ctrl-L key event before AltGr key event
> for international keyboard layouts. There is code in the X server to try
> to identify and discard these extra events, but this doesn't seem to be
> working in your case (and there have been other reports of that)
> I don't see why we can't just always load the US keyboard layout as all we
> care about are scan codes: Patch to follow which adds a flag to do that
> and turn it on for Japanese (which already does that) and Canadian
> Multilingual Standard.
> I've also added a keycode mapping for VK_OEM_8 in case that ever fails, and
> improved some logging related to the keyboard layout detection.
> I've also added the multix layout to the list of autodetected layouts.
> I've uploaded a build with this patch applied . This seems to correctly
> generate ISO_Level3_Shift for AltGr and ISO_Level5_Shift for Ctrl-R in the
> multix layout. Perhaps you could try it out and see if it works for you?
> Although I am still a bit unclear as to what exactly doesn't work for you.
> Originally you said "If the Windows keyboard is set to Canadian
> Multilingual Standard, cygwin doesn't get the RightAlt and RightControl
> inputs", whereas this xev output seems to demonstrate that the X server
> gets events, just not the right ones :-)
Volunteer Cygwin/X X Server maintainer
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
More information about the Cygwin-xfree