From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25611 invoked by alias); 16 Jul 2010 14:04:35 -0000 Received: (qmail 25497 invoked by uid 22791); 16 Jul 2010 14:04:33 -0000 X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL,BAYES_05,RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Received: from smtpout.karoo.kcom.com (HELO smtpout.karoo.kcom.com) (212.50.160.34) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 16 Jul 2010 14:04:28 +0000 Received: from 213-152-38-55.dsl.eclipse.net.uk (HELO [192.168.0.16]) ([213.152.38.55]) by smtpout.karoo.kcom.com with ESMTP; 16 Jul 2010 15:04:25 +0100 Message-ID: <4C4066F3.3050207@dronecode.org.uk> Date: Fri, 16 Jul 2010 14:04:00 -0000 From: Jon TURNEY Reply-To: cygwin-xfree@cygwin.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.10) Gecko/20100512 Thunderbird/3.0.5 MIME-Version: 1.0 To: cygwin-xfree@cygwin.com CC: George.Young@pco-bcp.gc.ca Subject: Re: Using the Canadian Multilingual Standard keyboard with WindowsXP References: <6B9C55F15278D64198962D45C8AA3CCA02B4B2E8@BCL4EXC4.b.net> <4C2CAB16.1000009@dronecode.org.uk> <6B9C55F15278D64198962D45C8AA3CCA02B4B312@BCL4EXC4.b.net> <4C3CB352.6080605@dronecode.org.uk> <6B9C55F15278D64198962D45C8AA3CCA02B4B336@BCL4EXC4.b.net> In-Reply-To: <6B9C55F15278D64198962D45C8AA3CCA02B4B336@BCL4EXC4.b.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Mailing-List: contact cygwin-xfree-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-xfree-owner@cygwin.com Reply-To: cygwin-xfree@cygwin.com Mail-Followup-To: cygwin-xfree@cygwin.com X-SW-Source: 2010-07/txt/msg00049.txt.bz2 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/