Без kbdd можно это посредством самого xorg реализовать? Kbdd после выхода из standby ставит ru layout на каждое новое окно
cat /lib/systemd/system-sleep/kbdd.sleep
#!/usr/bin/env bash
# set -x
TARGET="kbdd"
PATH=/sbin:/usr/sbin:/bin:/usr/bin
SLEEP=20
case $1 in
post)
sleep "${SLEEP}"
while true;do
if [[ -z $(pgrep ${TARGET}) ]]; then
break
else
kill -9 $(pgrep "${TARGET}")
fi
done
;;
esac
и в
cat ~/.dwm/scripts/startup/client/20_kbdd.sh
#!/usr/bin/env bash
# set -x
if [[ -f /etc/PROFILE ]]; then
source /etc/PROFILE
fi
TARGET="kbdd"
PRELOAD=""
ARGS=""
SLEEP=10
sleep "${SLEEP}"
while true
do
# if command available
if [[ -x "$(command -v ${TARGET})" || -n ${TARGET} ]];then
# sleep ${SLEEP}
# if not runned
if [[ -z $(pidof -x ${TARGET}) ]];then
sudo -u $USER bash -c "${PRELOAD} ${TARGET} ${ARGS} >/dev/null 2>&1"
fi
fi
sleep 15
done
Если вручную еще раз прибить kbdd, то последний скрипт его запустит и всё будет ок. Может этот функционал есть в самом xorg?
И почему он ставит ru, если в
cat /etc/X11/xorg.conf.d/00-keyboard.conf
Section "InputClass"
Identifier "keyboard-all"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
Option "XkbLayout" "us,ru"
#Option "XkbVariant" ""
# Option "XkbOptions" "grp:lctrl_lshift_toggle,caps:ctrl_modifier,ctrl:nocaps,terminate:ctrl_alt_bksp"
Option "XkbOptions" "grp:shifts_toggle,caps:ctrl_modifier,ctrl:nocaps,terminate:ctrl_alt_bksp"
EndSection
Напряжно: один раз проснулся всё ок, второй раз проснулся - не ок(ru)