17 lines
775 B
Bash
Executable File
17 lines
775 B
Bash
Executable File
#!/bin/sh
|
|
{
|
|
case $ACTION in
|
|
add) id=1;;
|
|
remove) id=0;;
|
|
*) id=$(test -c /dev/ttyACM0 && echo 1 || echo 0);;
|
|
esac
|
|
echo "Keyboard layout update to $id($ACTION) at $(date)" >>/tmp/scripts.log
|
|
export XAUTHORITY="/run/user/1000/Xauthority" DISPLAY=:0
|
|
# setxkbmap "$id" #nodeadkeys
|
|
xkbstate="$(dirname $(dirname $0))/xkblayout-state"
|
|
test "$($xkbstate print %C)" -gt 1 && $xkbstate set $id
|
|
# Swap semicolon and colon - https://unix.stackexchange.com/questions/615799/swap-semicolon-colon-to-p-unexpected-cause-semicolon-colon-affected-by-cpas-lock
|
|
# test "$id" = "eu" && xmodmap -e 'keysym semicolon = colon semicolon colon semicolon'
|
|
test "$id" = "1" && xmodmap -e 'keysym semicolon = colon semicolon colon semicolon' || setxkbmap de nodeadkeys
|
|
} 2>&1 | tee -a /tmp/scripts.log
|