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

Bug#756268: x11-xkb-utils: xkbcomp to :0 sometimes succeeds with no effect



Package: x11-xkb-utils
Version: 7.7+1
Severity: normal

To restore the XKB settings automatically after suspend/resume,
I use the following /etc/pm/sleep.d/xkb-save-restore script:

------------------------------------------------------------
#!/bin/sh

set -e

dir=/run/pm-xkb
mkdir -p $dir
displays=$dir/displays
env=$dir/env

unset list

ok()
{
  if [ -n "$list" ]; then
    echo "$1 XKB settings for displays:$list"
  fi
}

xkbsave()
{
  : > $displays
  cd /tmp/.X11-unix
  for file in X*
  do
    d=${file#X}
    if xkbcomp :$d $dir/$d; then
      echo $d >> $displays
      list="$list $d"
    fi
  done
  ok saved
}

xkbrestore()
{
  while read d
  do
    xkbcomp $dir/$d :$d
    list="$list $d"
  done < $displays
  ok restored
}

case $1 in
  suspend|hibernate) xkbsave ;;
  resume|thaw) xkbrestore ;;
  *) echo "unsupported argument" >&2
     exit 1 ;;
esac
------------------------------------------------------------

But sometimes, though this script runs successfully according to
/var/log/pm-suspend.log

[...]
Mon Jul 28 10:11:43 CEST 2014: Awake.
Mon Jul 28 10:11:43 CEST 2014: Running hooks for resume
Running hook /etc/pm/sleep.d/xkb-save-restore resume suspend:
Warning:          Compat map for group 2 redefined
                  Using new definition
Warning:          Compat map for group 3 redefined
                  Using new definition
Warning:          Compat map for group 4 redefined
                  Using new definition
Warning:          No symbols defined for <AB11> (keycode 97)
Warning:          No symbols defined for <JPCM> (keycode 103)
Warning:          No symbols defined for <I120> (keycode 120)
Warning:          No symbols defined for <AE13> (keycode 132)
Warning:          No symbols defined for <I149> (keycode 149)
Warning:          No symbols defined for <I154> (keycode 154)
Warning:          No symbols defined for <I168> (keycode 168)
Warning:          No symbols defined for <I178> (keycode 178)
Warning:          No symbols defined for <I183> (keycode 183)
Warning:          No symbols defined for <I184> (keycode 184)
Warning:          No symbols defined for <FK19> (keycode 197)
Warning:          No symbols defined for <FK24> (keycode 202)
Warning:          No symbols defined for <I217> (keycode 217)
Warning:          No symbols defined for <I219> (keycode 219)
Warning:          No symbols defined for <I221> (keycode 221)
Warning:          No symbols defined for <I222> (keycode 222)
Warning:          No symbols defined for <I230> (keycode 230)
Warning:          No symbols defined for <I247> (keycode 247)
Warning:          No symbols defined for <I248> (keycode 248)
Warning:          No symbols defined for <I249> (keycode 249)
Warning:          No symbols defined for <I250> (keycode 250)
Warning:          No symbols defined for <I251> (keycode 251)
Warning:          No symbols defined for <I252> (keycode 252)
Warning:          No symbols defined for <I253> (keycode 253)
restored XKB settings for displays: 0
/etc/pm/sleep.d/xkb-save-restore resume suspend: success.
[...]

(the above warnings are the usual ones), the settings are not
restored: some keys of the keyboard don't behave as remapped,
and output of "xkbcomp :0 -" is different from /run/pm-xkb/0
(the diff shows that the settings haven't been restored).

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.11-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=POSIX, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages x11-xkb-utils depends on:
ii  libc6        2.19-7
ii  libx11-6     2:1.6.2-2
ii  libxaw7      2:1.0.12-2
ii  libxkbfile1  1:1.0.8-1
ii  libxt6       1:1.1.4-1

x11-xkb-utils recommends no packages.

x11-xkb-utils suggests no packages.

-- no debconf information


Reply to: