Using the Canadian Multilingual Standard keyboard with WindowsXP
Jon TURNEY
jon.turney@dronecode.org.uk
Tue Jul 13 18:41:00 GMT 2010
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 :-)
[1] ftp://cygwin.com/pub/cygwinx/XWin.20100713-git-c54fb06114a2c0f1.exe.bz2
> -----Original Message-----
> On 03/06/2010 21:17, Young, George wrote:
>> Using Windows XP and cygwin started with the command %RUN% XWin
>> -multiwindow -clipboard -silent-dup-error -xkblayout ca -xkbvariant
>> multix -xkbmodel pc104
>>
>> If the Windows keyboard is set to US, cygwin works fine. If the
>> Windows keyboard is set to Canadian Multilingual Standard, cygwin
>> doesn't get the RightAlt and RightControl inputs.
>
> I couldn't reproduce this. Checking with xev, the right alt and right
> control keys generate key events when the Windows keyboard layout is
> Canadian Multilingual Standard, although it seems that right control
> generates the same X keysym as left control with that layout for some
> reason.
>
> Can you clarify how you are checking for the keypresses?
>
> Please attach your /var/log/XWin.0.log as well.
--
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