From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19410 invoked by alias); 8 Jul 2011 08:19:47 -0000 Received: (qmail 19400 invoked by uid 22791); 8 Jul 2011 08:19:45 -0000 X-SWARE-Spam-Status: No, hits=-0.5 required=5.0 tests=AWL,BAYES_00,TW_KB X-Spam-Check-By: sourceware.org Received: from smail5.alcatel.fr (HELO smail5.alcatel.fr) (64.208.49.27) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 08 Jul 2011 08:19:25 +0000 Received: from FRMRSSXCHHUB03.dc-m.alcatel-lucent.com (FRMRSSXCHHUB03.dc-m.alcatel-lucent.com [135.120.45.63]) by smail5.alcatel.fr (8.14.3/8.14.3/ICT) with ESMTP id p688IO09009758 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NOT) for ; Fri, 8 Jul 2011 10:19:22 +0200 Received: from [151.98.110.34] (135.120.57.7) by FRMRSSXCHHUB03.dc-m.alcatel-lucent.com (135.120.45.63) with Microsoft SMTP Server (TLS) id 8.3.106.1; Fri, 8 Jul 2011 10:18:59 +0200 Message-ID: <4E16BD72.9020207@alcatel-lucent.com> Date: Fri, 08 Jul 2011 09:01:00 -0000 From: Danilo Turina User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20110624 Thunderbird/5.0 MIME-Version: 1.0 To: cygwin-xfree Subject: Re: Cygwin X + HP-UX 11.11 + italian keyboard = AltGr not working (solved/worked around) References: <4E1419B6.5070209@alcatel-lucent.com> <4E146AF3.7010300@dronecode.org.uk> <4E147091.6090305@alcatel-lucent.com> <4E15AED5.6090003@dronecode.org.uk> In-Reply-To: <4E15AED5.6090003@dronecode.org.uk> X-TagToolbar-Keys: D20110708101858294 Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 8bit X-IsSubscribed: yes 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: 2011-07/txt/msg00026.txt.bz2 On 07/07/2011 15.04, Jon TURNEY wrote: > On 06/07/2011 15:26, Danilo Turina wrote: >> On 06/07/2011 16.02, Jon TURNEY wrote: >>> On 06/07/2011 09:15, Danilo Turina wrote: >>>> having recently replaced my old keyboard (that had a US layout) with an >>>> italian one, I'm having a problem with Cygwin X when running HP-UX clients: >>>> AltGr does not work and this prevents me to use characters like "[" "{" "}" >>>> "]", etc. >>>> >>>> I'm up to date with Cygwin and Cygwin X at the moment ("1.7.9(0.237/5/3) >>>> 2011-03-29 10:10 i686 Cygwin" for Cygwin and "1.10.2.0" for XWin). >>>> >>>> These are the steps to reproduce the problem: >>>> >>>> 1) start Cygwin X >>>> 2) disable access control ("xhost +") >>>> 3) access via telnet/ssh a HP-UX machine >>>> 4) open an xterm from the HP-UX machine in Cygwin X >>>> 5) in the newly opened xterm try to use AltGr (AltGr + "è" (i.e. the key >>>> at the right of "P"), should produce "{", while AltGr + Shift + "è" should >>>> produce "{") >>> >>> I'm missing here what is actually produced. Nothing? or the unmodified è? >> >> The unmodified è (well, sort of, because when I press "è" on the keyboard I >> see on the terminal "I" (I think because of some other problem of the terminal >> with non-ASCII chars) and if I press AltGr+"è" I yet see "I", so it's just >> like pressing AltGr has no effect at all). >> >>> >>>> 6) fall on the floor crying in desperation >>> >>> This is perfectly normal for people having to deal with XKB :-) >>> >>>> Notice that when using a client from a Linux machine all works properly. >>>> >>>> A googled a lot and found a lot of information but only few of it applied >>>> (=helped) to my specific case. I tried to mess with xmodmap and kbd config >>>> files and also with other stuff, but nothing seemed to solve the problem. >>> >>> I think a solution is contained in this old mailing list post [1], use >>> XKB_DISABLE=1 and adjust the keyboard map so that AltGr is Mode_switch and the >>> keys have the expected mapping in group 2, activated via Mode_switch. >>> >>> Note that just reassigning AltGr to Mode_switch is not enough, you'll need to >>> remap appropriately the keys which generate different characters with AltGr >>> e.g. something like: >>> >>> xmodmap -e "clear mod5" >>> xmodmap -e "clear mod3" >>> xmodmap -e "keycode 113 = Mode_switch Multi_key" >>> xmodmap -e "add mod3 = Mode_switch" >>> xmodmap -e "keycode 34 = egrave eacute bracketleft braceleft" >>> (and so on for the other keys which need to generate different characters with >>> AltGr) >> >> I already encountered some like that while searching the internet but didn't >> work. >> I tried what you wrote here but didn't work either... > > Just to be clear, you probably have to do all this before you start the xterm > you are going to be working in. > > Can I see the xev output when you try that setup? > >> Is there anything that I can do to go deeper into the analysis of this >> problem? xev seems not of any help, since it returns the same results both for >> Xming where all works and Cygwin X where I have the problem. > > Yes, that's rather mystifying. > > You might consider using wireshark, xmon or xscope to examine the protocol > interactions between client and server (not sure if all of these can decode > XKB extension protocol) to see if there is any difference there. Fiddling aroung with Wireshark I was able to understand what the problem was and I had the confirm thanks to xmodmap. With Xming I had that keycode 34 ("è") is associated to egrave eacute bracketleft braceleft bracketleft braceleft while with CygwinX the association is egrave eacute egrave eacute bracketleft braceleft I don't know the exact meaning of each of the positions above, but with xmodmap -e "keycode 34 = egrave eacute bracketleft braceleft bracketleft braceleft" I solved the problem. I then saw that that solves the problem even without setting XKB_DISABLE but only with some applications (e.g. with xterm works, with nedit you need XKB_DISABLE set). So just executing the xmodmap above for keycode 34, also within the same xterm on which I had the problem, without setting XKB_DISABLE and without doing anything else (so not resetting of the modifiers with 'xmodmap -e "clear mod5"', etc.), it works (but better setting XKB_DISABLE=1 in order to make all clients work). In short: export XKB_DISABLE=1 xmodmap -e "keycode 34 = egrave eacute bracketleft braceleft bracketleft braceleft" xmodmap -e "keycode 35 = plus asterisk bracketright braceright bracketright braceright" xmodmap -e "keycode 48 = agrave degree numbersign dead_abovering numbersign dead_abovering numbersign dead_abovering" xmodmap -e "keycode 47 = ograve ccedilla at dead_cedilla at dead_cedilla at dead_cedilla ograve ccedilla at dead_cedilla" does the job (with the above I just fix the four keys needed to get "[", "{", "]", "}", "@" and "#", probably others are missing, like AltGr+E for the Euro sign, but I don't use them within HP-UX so no problem for me). WARNING WARNING WARNING: I wrote the above xmodmap statements by getting their values from "xmodmap -pk" and replacing the 3rd and 4th values with the 5th and 6th values, so I don't know whether they can cause problems in other contexts. I hope that somebody that better knows xmodmap (and the like) could confirm the correctness of the above (that anyway for me works, so I have no problems at all now). I don't know whether this is a symptom of a wrong keymap on the Cygwin X side or is a problem on HP-UX, but I don't really care at this point. Thank you very much for the support and the precious hints. Ciao, Danilo P.S. If I had looked more carefully at "xmodmap -pk" output at the beginning, I would have discovered the problem early and I would have avoided all of this researching and trying. > > It seems that XKB_DISABLE is checked for inside libX11 (at least since R6.6, > the oldest version in freedesktop.org git), so you might want to identify what > version is on your HP-UX host and try to understand how it behaves. It might > also be worthwhile to look forward in the version history to see if there's > been a fix made for this behavior? > > Lastly, I notice that HP-UX 11.11 is apparently still in support, so you might > actually ask HP to fix it :-) > -- DANILO TURINA ALCATEL-LUCENT Software Analyst NM System Team Network-Optics Rieti (Italy) Phone: +39 0746 600332 10 anni 2 mesi 28 giorni 23 ore 57 minuti 8 secondi -- 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/