Hi! Finally I managed to figure out howto make the AltGr key work on my German keyboard under Solaris 2.6 and Cygwin XFree86 (tested with 4.3.0-51)! :-)
The at '@' and pipe '|' and all other AltGr keys work for me, even the Euro-Sign if I use a iso-8859-15 font. Here is the howto: 1. Edit your /etc/X11/XF86Config You need to _uncomment_ the following line in section "InputDevices": Option "RightAlt" "ModeSwitch" Restart your X-Server to apply the change. 2. Modify your keymap: I'm using the following .xmodmaprc below. Please have a look at the notes too! <--cut--> ! ! Make AltGr work with Solaris 2.6 and Cygwin XFree86 ! ! Prerequisite: Add or uncomment the following line in section ! "InputDevices" of /etc/X11/XF86Config : ! ! Option "RightAlt" "ModeSwitch" ! ! NOTE: Newer OS, such as Solaris versions (8 and 9), Linux or Cygwin ! do NOT need this fix! ! ! ------------------------------------------------------------------- ! ! assign modifier key ! ! for modern OS (Solaris 8, Linux, Cygwin, etc) !keycode 113 = ISO_Level3_Shift Multi_key ! ! for ancient Solaris 2.6 keycode 113 = Mode_switch ! ! remap keys ! ! NOTE: Keycodes (list with 'modmap -pke') under Exceed 8.0 differ ! from Cygwin XFree86. Odd. Therefore, check the values! ! keycode 11 = 2 quotedbl twosuperior keycode 12 = 3 section threesuperior keycode 16 = 7 slash braceleft keycode 17 = 8 parenleft bracketleft keycode 18 = 9 parenright bracketright keycode 19 = 0 equal braceright keycode 20 = ssharp question backslash keycode 21 = acute grave keycode 24 = q Q at keycode 26 = e E currency keycode 35 = plus asterisk asciitilde keycode 49 = asciicircum degree keycode 58 = m M mu keycode 94 = less greater bar <--cut--> NOTES: * Save this as your ~/.xmodmaprc or save it and run 'xmodmap filename' in your shell startup script. * I've found that the keycodes are _not_ identical and depend on your OS and/or X-Server (can somebody clearify this?). The values above work for me, but you'd better verify the keycodes with 'modmap -pke' if they match yours. * If 'currency' is not defined, try 'EuroSign' or '0x00a4'. Hope that helps. Comments are welcome. Walter