Bugzilla – Bug 466263
global xmodmap settings get cancelled by xkbcomp (line 104 of /etc/X11/xinit/xinitrc.common)
Last modified: 2009-03-10 20:28:53 UTC
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5) Gecko/2008121300 SUSE/3.0.5-1.1 Firefox/3.0.5 Assume you add a statement like keycode 115 = Multi_key to /etc/X11/Xmodmap, which as far as I know is the correct way to make such a setting globally. You will find that indeed in the Username field of the kdm login panel one can compose umlaut characters with the help of the corresponding key. But this setting gets lost in the process of login. It happens when /etc/X11/xinit/xinitrc.common (which is called by /etc/X11/xdm/Xsession) on line 105 calls xkbcomp. My cheap workaround consists of calling xmodmap again: xdpyinfo | grep -q "X.Org version: 6.9.0" || \ setxkbmap -print | xkbcomp - $DISPLAY /usr/bin/xmodmap /etc/X11/Xmodmap This is probably not the correct solution. xkbcomp should respect global xmodmap settings. regards Rolf Reproducible: Always Steps to Reproduce: 1. Add an entry to /etc/X11/Xmodmap 2. logout 2. Test the effect of the entry in the Username field of kdm 3. login Actual Results: The setting from /etc/X11/Xmodmap wasn't in effect any more. Expected Results: The setting from /etc/X11/Xmodmap should still be in effect. Probably the fastest way to see everything, is to modify /etc/X11/xinit/xinitrc.common in the following way: #start of code /usr/bin/xmodmap -pke > /tmp/A1 xdpyinfo | grep -q "X.Org version: 6.9.0" || \ # original line setxkbmap -print | xkbcomp - $DISPLAY # original line /usr/bin/xmodmap -pke > /tmp/A2 #end of code add this line to /etc/X11/Xmodmap: keycode 115 = Multi_key logout login do a diff /tmp/A?
Oh well. We really want to get rid of this setxkbmap workaround in xinitrc.common. Matthias was going to look into this anyway. Reassigning. Related: Bug #432627
The hack in xinitrc.common is now removed for Factory. Thus this issue is fixed for openSUSE 11.2.