X: Fix xinitrc keyboard language setting

Improved the language setting to simply make use of the search for
touchpad, just like setting the touchpad options.
Since these are my only two keyboards at the moment, the difference
should be meagre to non-existent in the way the old detection worked and
the new one does.
This commit is contained in:
Marty Oehme 2021-04-12 18:37:30 +02:00
parent 27a8a38c24
commit d6d2c3d787
Signed by: Marty
GPG key ID: B7538B8F50A1C800

View file

@ -8,50 +8,29 @@ sysmodmap=/etc/X11/xinit/.Xmodmap
# merge in defaults and keymaps # merge in defaults and keymaps
if [ -f $sysresources ]; then if [ -f $sysresources ]; then
xrdb -merge $sysresources xrdb -merge $sysresources
fi fi
if [ -f $sysmodmap ]; then if [ -f $sysmodmap ]; then
xmodmap $sysmodmap xmodmap $sysmodmap
fi fi
if [ -f "$userresources" ]; then if [ -f "$userresources" ]; then
xrdb -merge "$userresources" xrdb -merge "$userresources"
fi fi
if [ -f "$usermodmap" ]; then if [ -f "$usermodmap" ]; then
xmodmap "$usermodmap" xmodmap "$usermodmap"
fi fi
if [ -d /etc/X11/xinit/xinitrc.d ]; then if [ -d /etc/X11/xinit/xinitrc.d ]; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh; do for f in /etc/X11/xinit/xinitrc.d/?*.sh; do
# shellcheck disable=1090 # shellcheck disable=1090
[ -x "$f" ] && . "$f" [ -x "$f" ] && . "$f"
done done
unset f unset f
fi fi
# Remaps Capslock key to control.
# (only works for x environment - I haven't needed it for non-x yet)
setxkbmap -option ctrl:nocaps
# sets default to EURkey layout, with possibility to switch to german
# sets german layout to be default for the only pc I have with a german keyboard
# shellcheck disable=2039
if [ "$HOST" = "lidell" ] || [ "$HOSTNAME" = "lidell" ]; then
setxkbmap -layout eu,de
else
setxkbmap -layout de,eu
fi
# allows switching layouts with alt+space
setxkbmap -option grp:alt_shift_toggle
# Makes Capslock behave as escape - when ONLY capslock is pressed and released
# this only works when we already substitute a ctrl for caps with the lines above,
# otherwise control itself will act as escape.
# Needs xcape package installed. https://github.com/alols/xcape
# set a timeout of 500ms, if pressed longer it will ignore esc
type xcape >/dev/null 2>&1 && xcape -e 'Control_L=Escape' -t 500
# unclutter is a program to hide your mouse cursor when it is not moved # unclutter is a program to hide your mouse cursor when it is not moved
type unclutter >/dev/null 2>&1 && unclutter & type unclutter >/dev/null 2>&1 && unclutter &
# picom is the maintained version of desktop compositor compton # picom is the maintained version of desktop compositor compton
@ -69,8 +48,26 @@ type nm-applet >/dev/null 2>&1 && nm-applet &
# additional config options for Touchpad devices ONLY # additional config options for Touchpad devices ONLY
if [ "$(journalctl --dmesg -o short-monotonic --no-hostname --no-pager | grep -c "Touchpad")" -gt 0 ]; then if [ "$(journalctl --dmesg -o short-monotonic --no-hostname --no-pager | grep -c "Touchpad")" -gt 0 ]; then
# enable touch tapping for XPS13 touchpad - for different devices get the touchpad name with xinput list-prop <TAB> # enable touch tapping for XPS13 touchpad - for different devices get the touchpad name with xinput list-prop <TAB>
xinput set-prop "DLL075B:01 06CB:76AF Touchpad" "libinput Tapping Enabled" 1 xinput set-prop "DLL075B:01 06CB:76AF Touchpad" "libinput Tapping Enabled" 1
# sets default to EURkey layout, with possibility to switch to german
# sets german layout to be default for the only pc I have with a german keyboard
# allows switching layouts with alt+space
setxkbmap -layout eu,de
else
setxkbmap -layout de,eu
fi fi
# Remaps Capslock key to control.
# (only works for x environment - I haven't needed it for non-x yet)
setxkbmap -option ctrl:nocaps
setxkbmap -option grp:alt_shift_toggle
# Makes Capslock behave as escape - when ONLY capslock is pressed and released
# this only works when we already substitute a ctrl for caps with the lines above,
# otherwise control itself will act as escape.
# Needs xcape package installed. https://github.com/alols/xcape
# set a timeout of 500ms, if pressed longer it will ignore esc
type xcape >/dev/null 2>&1 && xcape -e 'Control_L=Escape' -t 500
type i3 >/dev/null 2>&1 && exec i3 type i3 >/dev/null 2>&1 && exec i3