Bug 10313 - caps lock does not work correctly in Xephyr
Summary: caps lock does not work correctly in Xephyr
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/DDX/Xephyr (show other bugs)
Version: 7.1 (2006.05)
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: Matthew Allum
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-03-15 15:45 UTC by Jochem Berndsen
Modified: 2007-06-06 07:39 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Patch to xorg-server-1.2.0/hw/kdrive/src/kinput.c (957 bytes, patch)
2007-06-06 07:38 UTC, Alan Coopersmith
no flags Details | Splinter Review

Description Jochem Berndsen 2007-03-15 15:45:10 UTC
Hi,

For your reference: I'm using Debian GNU/Linux (testing) with Linux 2.6.18-4, Xorg 7.1.0-15, and originally reported this bug to Debian (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=415025)

When using Xephyr, the Caps Lock key does "lock" the shift, but does
not unlock it when pressing for the second time.

This happens in both 1.1.1-20 and 1.1.1-19.

I tried to reproduce it by using no window manager instead of
fluxbox, but just running xterm on that display does exhibit the same
behavior.

Steps to reproduce:
1. Install xserver-xephyr
2. Adding 
-- cut here
*
localhost CHOOSER BROADCAST
-- cut here
to /etc/X11/xdm/Xaccess
3. Commenting out the last line in /etc/X11/xdm/xdm-config
4. Restart XDM.
5. Start Xephyr by:
Xephyr -query localhost :1
6. Log in, and press Caps Lock twice. Now Caps Lock remains on within
that Xephyr-session.

Alternative for 5, 6:
5. Start Xephyr by:
Xephyr :1
6. Start an xterm by:
xterm -display :1
7. Press Caps Lock twice. Now Caps Lock remains on within the
Xephyr-session.

On a computer on a friend of mine with the same configuration, the
same behavior happens.
Comment 1 Jim Carter 2007-06-05 22:37:01 UTC
I confirm the behavior.  A workaround would be to add to /etc/X11/xorg.conf on the guest, section "InputDevice" for the keyboard, Option "XkbOptions" "ctrl:nocaps" as documented in /usr/share/X11/xkb/rules/xorg.list .  This makes capslock to be an additional ctrl key.  The only problem is that Xephyr does not seem to read xorg.conf.  If one uses Gnome on the guest, run the preferences manager and under Desktop - Preferences - Keyboard - Layout Options - Ctrl Key Position, choose "Make Capslock an additional Ctrl" and the behavior goes away, of course with no capslock any more (on the guest).  
    But I want to run Xfce.  If/when I figure out how to de-caps-lock Xephyr via standard X behaviors I'll post the workaround here.  But I have other needs that are best set up in xorg.conf, so if anyone knows how to get Xephyr to read that or any other conf file, could they please post?  Thanks.
Comment 2 Alan Coopersmith 2007-06-06 07:38:48 UTC
Created attachment 10207 [details] [review]
Patch to xorg-server-1.2.0/hw/kdrive/src/kinput.c

This is already fixed in head - for Xorg server 1.2.0, the attached patch worked for me.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.