[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#531302: caps lock becomes stuck



Package: xserver-xephyr


I'm using the script given below to start Xephyr from gdm, with the intention of creating a `multi-seat' environment.

After using the caps lock key a few times, I get stuck in caps mode and pressing caps lock again fails to take it off.  The problem is easily reproducible and is discussed in various forums online.

Using ALT-F1 to switch to a text console, I find my keyboard working normally.  If I switch back to the Xephyr session (ALT-F7), I am back in caps mode.  So far, I can only get my keyboard to work again by restarting Xephyr.

When in the caps lock mode, the shift key works for typing lowercase letters.

If I login on my :0 display (without going through Xephyr), everything works fine, no caps lock problems.

This is my Xephyr command line:

# ps ax | grep Xephyr
1983 ? S 14:55 /usr/bin/Xephyr :1 -audit 0 -screen 1920x1200 -dpi 96 +kb r -auth /var/lib/gdm/:1.Xauth

The gdm settings:

[server-screen0]
name=screen0
command=/usr/local/bin/launch-xephyr -display :0.0 -xauthority /var/lib/gdm/:0.Xauth -audit 0 -screen 1920x1200 -dpi 96 +kb r
handled=true
flexible=false




$ cat /usr/local/bin/launch-xephyr
#!/bin/bash

trap "" usr1

XEPHYR=/usr/bin/Xephyr

args=()

while [ ! -z "$1" ]; do
if [[ "$1" == "-xauthority" ]]; then
 shift
 if [ ! -z "$1" ]; then
   export XAUTHORITY="$1"
 fi
elif [[ "$1" == "-display" ]]; then
 shift
 if [ ! -z "$1" ]; then
   export DISPLAY="$1"
 fi
else
 if ! expr match $1 'vt[0-9][0-9]*' >/dev/null; then
   args=("${args[@]}" "$1")
 fi
fi

shift
done

/usr/bin/xset s noblank
/usr/bin/xset s off
/usr/bin/xset -dpms

exec $XEPHYR "${args[@]}"






Reply to: