Partial solution for nonUs keyboards with XDMCP to AIX (be keyboard with xkp option)

Thierry Salmon thierry.salmon@just.fgov.be
Mon Feb 16 15:59:00 GMT 2004


resent because

<cygwin-xfree@cygwin.com>:
ezmlm-reject: fatal: Sorry, a message part has an unacceptable MIME Content-Type: text/html (#5.2.3)



This my config

Client (W2K+cygwin downloaded 2004/02/03) :

start XWin -query %REMOTE_HOST% -nodecoration -lesspointer -once 
-unixkill -fullscreen -xkbmap be
(only condition start xwin with numlock off,
use tools like numlock to set numlock off just before starting xwin 
(http://www.rjlsoftware.com/software/utility/numlock/)
when you get the xdmcp login screen you can put numlock on,and all seems 
to work)

Server (RS6000 43P + AIX 4.3.2):

 change /usr/dt/config/Xsetup : add following lines

    if /usr/local/bin/xdpyinfo | /usr/bin/grep vendor |/usr/bin/grep
    XFree >/dev/null
    then
    XTERMMODEL=cygwin
    echo "/usr/bin/X11/xmodmap /usr/dt/config/xmodmap.cygwin.be " >>
    /tmp/Xreset.$DISPLAY.log
          /usr/bin/X11/xmodmap /usr/dt/config/xmodmap.cygwin.be

    fi

 change /usr/dt/config/Xreset : add following lines

    if /usr/local/bin/xdpyinfo | /usr/bin/grep vendor |/usr/bin/grep
    XFree >/dev/nullthen
    XTERMMODEL=cygwin
    echo "/usr/bin/X11/xmodmap /usr/dt/config/xmodmap.cygwin.be " >>
    /tmp/Xreset.$DISPLAY.log
          /usr/bin/X11/xmodmap /usr/dt/config/xmodmap.cygwin.be

    fi

 change /usr/dt/bin/Xsession : add following lines

    if /usr/local/bin/xdpyinfo | /usr/bin/grep vendor |/usr/bin/grep
    XFree >/dev/null
    then
    XTERMMODEL=cygwin
    xmodmap -verbose /usr/dt/config/xmodmap.cygwin.be.tckh.dtlogin >>
    /tmp/Xsession.$DISPLAY.log 2>&1
    fi

 add /usr/dt/config/xmodmap.cygwin.be.tckh (based on "Belgian  
xmodmap.be.bz2(1.0kb) 
<http://www-user.tu-chemnitz.de/%7Egoal/xfree/xmodmap.be.bz2> (provided 
by Windey Koen) from gotti.org")

    diff xmodmap.be  xmodmap.cygwin.be.tckh
    3d2
    <
    4a4
     > clear Lock
    6a7,17
     > clear Mod3
     > clear Mod4
     > clear Mod5
     > keycode  66 = Caps_Lock
     > add Lock = Caps_Lock
     > keycode  64 = Alt_L
     > add Mod1 = Alt_L
     > keycode 113 = Mode_switch
     > add Mod2 = Mode_switch
     >
     >
    47c58
    < keycode  49 = twosuperior
    ---
     > keycode  49 = twosuperior threesuperior
    65,75c76,86
    < keycode  67 = F1 F11
    < keycode  68 = F2 F12
    < keycode  69 = F3 F13
    < keycode  70 = F4 F14
    < keycode  71 = F5 F15
    < keycode  72 = F6 F16
    < keycode  73 = F7 F17
    < keycode  74 = F8 F18
    < keycode  75 = F9 F19
    < keycode  76 = F10 F20
    < keycode  77 = Num_Lock
    ---
     > keycode  67 = F6 F17
     > keycode  68 = F7 F18
     > keycode  69 = F8 F19
     > keycode  70 = F9 F20
     > keycode  71 = F10 KP_F1
     > keycode  72 = F11 KP_F2
     > keycode  73 = F12 KP_F3
     > keycode  74 = F13 KP_F4
     > keycode  75 = F14 F19
     > keycode  76 = F15 F20
     > keycode  77 = Num_Lock Pointer_EnableKeys
    88a100
     > keycode  91 = KP_Decimal KP_Delete
    91,92c103,104
    < keycode  95 = F11 F11
    < keycode  96 = F12 F12
    ---
     > keycode  95 = F16 F17
     > keycode  96 = F18 F19
    97c109
    < keycode 113 = Mode_switch
    ---
     > keycode 113 = ISO_Level3_Shift Multi_key            
    99c111
    < keycode 110 = Find
    ---
     > keycode 110 = F26
    102a115
     > keycode 101 = Up
    103a117
     > keycode 103 = Break
    106a121,127
     >
     > clear Mod1
     > clear Mod2
     > clear Mod3     
     > clear Mod4     
     > clear Mod5     
     >
    107a129,131
     > add Mod5 = Num_Lock
     > add mod3 = Menu
     > add Mod4 = Super_L Super_R
    108a133
     >

 add /usr/dt/config/xmodmap.cygwin.be.tckh.dtlogin (based on "Belgian  
xmodmap.be.bz2(1.0kb) 
<http://www-user.tu-chemnitz.de/%7Egoal/xfree/xmodmap.be.bz2> (provided 
by Windey Koen) from gotti.org")

    diff xmodmap.be  xmodmap.cygwin.be.tckh.dtlogin
    3d2
    <
    4a4
     > clear Lock
    6a7,16
     > clear Mod3
     > clear Mod4
     > clear Mod5
     > keycode  66 = Caps_Lock
     > add Lock = Caps_Lock
     > keycode  64 = Alt_L
     > add Mod1 = Alt_L
     > keycode 113 = Mode_switch
     > add Mod2 = Mode_switch
     >
    47c57
    < keycode  49 = twosuperior
    ---
     > keycode  49 = twosuperior threesuperior
    65,75c75,85
    < keycode  67 = F1 F11
    < keycode  68 = F2 F12
    < keycode  69 = F3 F13
    < keycode  70 = F4 F14
    < keycode  71 = F5 F15
    < keycode  72 = F6 F16
    < keycode  73 = F7 F17
    < keycode  74 = F8 F18
    < keycode  75 = F9 F19
    < keycode  76 = F10 F20
    < keycode  77 = Num_Lock
    ---
     > keycode  67 = F6 F17
     > keycode  68 = F7 F18
     > keycode  69 = F8 F19
     > keycode  70 = F9 F20
     > keycode  71 = F10 KP_F1
     > keycode  72 = F11 KP_F2
     > keycode  73 = F12 KP_F3
     > keycode  74 = F13 KP_F4
     > keycode  75 = F14 F19
     > keycode  76 = F15 F20
     > keycode  77 = Num_Lock Pointer_EnableKeys
    77,79c87,89
    < keycode  79 = KP_7
    < keycode  80 = KP_8
    < keycode  81 = KP_9
    ---
     > keycode  79 = KP_Home     KP_7
     > keycode  80 = KP_Up       KP_8
     > keycode  81 = KP_Prior    KP_9
    81,83c91,93
    < keycode  83 = KP_4
    < keycode  84 = KP_5
    < keycode  85 = KP_6
    ---
     > keycode  83 = KP_Left     KP_4
     > keycode  84 = KP_Begin    KP_5
     > keycode  85 = KP_Right    KP_6
    85,88c95,99
    < keycode  87 = KP_1
    < keycode  88 = KP_2
    < keycode  89 = KP_3
    < keycode  90 = KP_0
    ---
     > keycode  87 = KP_End      KP_1
     > keycode  88 = KP_Down     KP_2
     > keycode  89 = KP_Next     KP_3
     > keycode  90 = KP_Insert   KP_0
     > keycode  91 = KP_Delete   KP_Decimal
    91,92c102,103
    < keycode  95 = F11 F11
    < keycode  96 = F12 F12
    ---
     > keycode  95 = F16 F17
     > keycode  96 = F18 F19
    97c108
    < keycode 113 = Mode_switch
    ---
     > keycode 113 = Mode_switch                           
    99c110
    < keycode 110 = Find
    ---
     > keycode 110 = F26
    102a114
     > keycode 101 = Menu
    103a116
     > keycode 103 = Break
    106a120,124
     > clear Mod1
     > clear Mod2
     > clear Mod3
     > clear Mod4
     > clear Mod5
    108c126,129
    < add Mod2 = Mode_switch
    ---
     > add Mod5 = Num_Lock
     > add mod3 = Menu
     > add Mod4 = Super_L Super_R
     > add Mod2 = Mode_switch    

 add /home/username/XTerm

    XTerm*openIm: False
    XTerm.VT100.c132: true
    XTerm.VT100.eightBitInput: true
    XTerm.VT100.eightBitOutput: true
    XTerm.VT100.loginShell: true
    XTerm.VT100.Translations: #override \
            Shift<Key>F6:           string("^[[31~") \n\
            Shift<Key>F7:           string("^[[32~") \n\
            Shift<Key>F8:           string("^[[33~") \n\
            Shift<Key>F9:           string("^[[34~") \n\
            Shift<Key>F10:           string("^[OP") \n\
            Shift<Key>F11:           string("^[OQ") \n\
            Shift<Key>F12:           string("^[OR") \n\
            Shift<Key>F13:           string("^[OS") \n\
            Shift<Key>F19:          string("^") \n\
            <Key>F26:               string("^C") \n\
            Alt<Key>E:              string(0xa4) \n\
            Alt<Key>S:              string(0xdf) \n\
            <Key>0xff6b:            string("^C") \n\
            <Key>0xff52:            string("^[[A") \n\
              @Alt_L<Key>mu,              Shift<Key>A: string(0xc0) \n\
              @Alt_L<Key>mu,               None<Key>a: string(0xe0) \n\
              @Alt_L<Key>ugrave,          Shift<Key>A: string(0xc1) \n\
              @Alt_L<Key>ugrave,           None<Key>a: string(0xe1) \n\
                None<Key>dead_circumflex, Shift<Key>A: string(0xc2) \n\
                None<Key>dead_circumflex,  None<Key>a: string(0xe2) \n\
              @Alt_L<Key>equal,           Shift<Key>A: string(0xc3) \n\
              @Alt_L<Key>equal,            None<Key>a: string(0xe3) \n\
               Shift<Key>dead_circumflex, Shift<Key>A: string(0xc4) \n\
               Shift<Key>dead_circumflex,  None<Key>a: string(0xe4) \n\
                                           None<Key>a: string(0x61) \n\
                                     @Caps_Lock<Key>a: string(0x41) \n\
                                          Shift<Key>A: string(0x41) \n\
                                     @Caps_Lock<Key>A: string(0x41) \n\
                                          :Meta<Key>a: string(0x41) \n\
                                          :Meta<Key>A: string(0x41) \n\
    \
              @Alt_L<Key>mu,              Shift<Key>E: string(0xc8) \n\
              @Alt_L<Key>mu,               None<Key>e: string(0xe8) \n\
              @Alt_L<Key>ugrave,          Shift<Key>E: string(0xc9) \n\
              @Alt_L<Key>ugrave,           None<Key>e: string(0xe9) \n\
                None<Key>dead_circumflex, Shift<Key>E: string(0xca) \n\
                None<Key>dead_circumflex,  None<Key>e: string(0xea) \n\
               Shift<Key>dead_circumflex, Shift<Key>E: string(0xcb) \n\
               Shift<Key>dead_circumflex,  None<Key>e: string(0xeb) \n\
                                          Shift<Key>E: string(0x45) \n\
                                           None<Key>e: string(0x65) \n\
    \
              @Alt_L<Key>mu,              Shift<Key>I: string(0xcc) \n\
              @Alt_L<Key>mu,               None<Key>i: string(0xec) \n\
              @Alt_L<Key>ugrave,          Shift<Key>I: string(0xcd) \n\
              @Alt_L<Key>ugrave,           None<Key>i: string(0xed) \n\
               Shift<Key>dead_circumflex, Shift<Key>I: string(0xcf) \n\
               Shift<Key>dead_circumflex,  None<Key>i: string(0xef) \n\
                None<Key>dead_circumflex, Shift<Key>I: string(0xce) \n\
                None<Key>dead_circumflex,  None<Key>i: string(0xee) \n\
                                          Shift<Key>I: string(0x49) \n\
                                           None<Key>i: string(0x69) \n\
    \
              @Alt_L<Key>mu,              Shift<Key>O: string(0xd2) \n\
              @Alt_L<Key>mu,               None<Key>o: string(0xf2) \n\
              @Alt_L<Key>ugrave,          Shift<Key>O: string(0xd3) \n\
              @Alt_L<Key>ugrave,           None<Key>o: string(0xf3) \n\
               Shift<Key>dead_circumflex, Shift<Key>O: string(0xd6) \n\
               Shift<Key>dead_circumflex,  None<Key>o: string(0xf6) \n\
                None<Key>dead_circumflex, Shift<Key>O: string(0xd4) \n\
                None<Key>dead_circumflex,  None<Key>o: string(0xf4) \n\
              @Alt_L<Key>equal,           Shift<Key>O: string(0xd5) \n\
              @Alt_L<Key>equal,            None<Key>o: string(0xf5) \n\
                                          Shift<Key>O: string(0x4f) \n\
                                           None<Key>o: string(0x6f) \n\
    \      
              @Alt_L<Key>mu,              Shift<Key>U: string(0xd9) \n\
              @Alt_L<Key>mu,               None<Key>u: string(0xf9) \n\
              @Alt_L<Key>ugrave,          Shift<Key>U: string(0xda) \n\
              @Alt_L<Key>ugrave,           None<Key>u: string(0xfa) \n\
               Shift<Key>dead_circumflex, Shift<Key>U: string(0xdc) \n\
               Shift<Key>dead_circumflex,  None<Key>u: string(0xfc) \n\
                None<Key>dead_circumflex, Shift<Key>U: string(0xdb) \n\
                None<Key>dead_circumflex,  None<Key>u: string(0xfb) \n\
                                          Shift<Key>U: string(0x55) \n\
                                           None<Key>u: string(0x75) \n\
    \      
              @Alt_L<Key>equal,           Shift<Key>N: string(0xd1) \n\
              @Alt_L<Key>equal,            None<Key>n: string(0xf1) \n\
                                          Shift<Key>N: string(0x4e) \n\
                                           None<Key>n: string(0x6e) \n\
    \    
               Shift<Key>dead_circumflex,   <Key>0x20: string(0xa8) \n\
                None<Key>dead_circumflex,   <Key>0x20: string(0x5e) \n\
                Meta<Key>dead_circumflex             : string(0x5b) \n\
    \        
              @Alt_L<Key>mu,                <Key>0x20: string(0x60) \n\
               Shift<Key>mu                          : string(0xa3) \n\
                None<Key>mu                          : string(0xb5) \n\
              @Alt_L<Key>ugrave,            <Key>0x20: string(0xb4) \n\
               Shift<Key>ugrave                      : string(0x25) \n\
                None<Key>ugrave                      : string(0xf9) \n\
              @Alt_L<Key>equal,             <Key>0x20: string(0x7e) \n\
               Shift<Key>equal                       : string(0x2b) \n\
                None<Key>equal                       : string(0x3d) \n\
    \
                                      Shift <Key>0x20: string(0x20) \n\
                                       None <Key>0x20: string(0x20) \n\
                                            <Key>0x20: string(0x20) \n\


    All in a xterm works except my xterm*translation with "aeiou...." +
    ugrave or acute of tilde doesn't work if numlock is on

    Remark : some xterm*translation are only needed for our informix 4gl
    application.
                    I'm newbie in cygwin, xmodmap and xterm*translation,
    so maybe there is some mistakes or some unnecessary lines
                    advices  are welcome

-- 
Best regards

Thierry SALMON

e-mail : thierry.salmon@just.fgov.be

Could you confirm reception of the message by replying e-mail
******************************************************************************************************
This message and any attachments (the "message") are confidential and intended solely for the addressees.
Any unauthorised use or dissemination is prohibited. E-mails are susceptible to alteration.
Neither The Sender nor any of its subsidiaries or affiliates shall be liable for the message if altered, 
changed or falsified.
******************************************************************************************************






More information about the Cygwin-xfree mailing list