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 è? > 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 can't test this, because I don't have access to a HP-UX machine. [1] http://cygwin.com/ml/cygwin-xfree/2004-03/msg00454.html > At the moment I'm using Xming 6.9.0.31 that doesn't seem affected by the > problem IF I set XKB_DISABLE=1 on the client machine (i.e. HP-UX). > > Trying to troubleshoot the problem, I used xev on the HP-UX machine to see if > the keys were properly recognized and, in effect, they are. > This are xev results for Cygwin X, when I press (and release) AltGr+è (thus by > trying to get "[") with XKB_DISABLED not set: > [snip] > > If I set XKB_DISABLED=1, I get, instead: > [snip] > > If I try xev on Xming with XKB_DISABLED=1 (where I have no problem at all), I > get: > [snip] It's kind of hard to know how to interpret these results since I don't know what XKB_DISABLED=1 actually does. > One strange thing that I noticed is that if I start Cygwin X by using > "startxwin" from the Cygwin's command line, I get the following warning on > screen: [snip] > The XKEYBOARD keymap compiler (xkbcomp) reports: >> Warning: Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols >> Ignoring extra symbols > > But that warning is not present in XWin.0.log (attached). I think this is normal, if a little odd. Warnings from xkbocmp are written to stdout, but not written to the log. -- 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/