2022-07-06 21:14:49 +00:00
|
|
|
#!/bin/sh -e
|
2021-05-02 17:35:50 +00:00
|
|
|
umask 0
|
2021-03-12 09:21:23 +00:00
|
|
|
{
|
2021-03-04 21:19:34 +00:00
|
|
|
case $ACTION in
|
2021-04-21 17:51:56 +00:00
|
|
|
(add) id=1;;
|
|
|
|
(remove) id=0;;
|
2022-07-06 21:14:49 +00:00
|
|
|
(*) id=$(! test -c /dev/ttyACM0 -o -c /dev/model01; echo $?);;
|
2021-03-12 09:21:23 +00:00
|
|
|
esac
|
2022-07-06 21:14:49 +00:00
|
|
|
echo "Keyboard layout update to $id($ACTION) at $(/usr/bin/date)"
|
2021-03-04 21:19:34 +00:00
|
|
|
export XAUTHORITY="/run/user/1000/Xauthority" DISPLAY=:0
|
2021-04-21 17:51:56 +00:00
|
|
|
|
2021-03-23 20:55:02 +00:00
|
|
|
xkbstate="$(dirname $(dirname $0))/xkblayout-state"
|
2021-03-25 09:27:44 +00:00
|
|
|
test "$($xkbstate print %C)" -gt 1 && $xkbstate set $id
|
2022-07-06 21:14:49 +00:00
|
|
|
# Swap semicolon and colon
|
|
|
|
# https://unix.stackexchange.com/questions/615799/swap-semicolon-colon-to-p-unexpected-cause-semicolon-colon-affected-by-cpas-lock
|
2021-03-04 21:19:34 +00:00
|
|
|
# test "$id" = "eu" && xmodmap -e 'keysym semicolon = colon semicolon colon semicolon'
|
2021-12-02 09:35:37 +00:00
|
|
|
if test "$id" = "1"
|
2022-07-06 21:14:49 +00:00
|
|
|
then setxkbmap eu -option "" && xmodmap -e 'keysym semicolon = colon semicolon colon semicolon'
|
2021-12-02 09:35:37 +00:00
|
|
|
else setxkbmap de nodeadkeys caps:swapescape
|
|
|
|
fi
|
2021-03-12 09:21:23 +00:00
|
|
|
} 2>&1 | tee -a /tmp/scripts.log
|