Using the Canadian Multilingual Standard keyboard with WindowsXP

Jon TURNEY jon.turney@dronecode.org.uk
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 [1] 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?

[1] ftp://cygwin.com/pub/cygwinx/XWin.20100716-git-26e4d8f804b5cfdc.exe.bz2

>
> Good stuff, George R. Young
>
>
> -----Original Message----- From: Jon TURNEY
> [mailto:jon.turney@dronecode.org.uk] Sent: July 13, 2010 2:41 PM To:
> cygwin-xfree@cygwin.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 [1]. 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 :-)

-- 
Jon TURNEY
Volunteer Cygwin/X X Server maintainer

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://x.cygwin.com/docs/
FAQ:                   http://x.cygwin.com/docs/faq/



More information about the Cygwin-xfree mailing list