From d6d2c3d787cc85b1a7b2346c9dff81fc279b48a0 Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Mon, 12 Apr 2021 18:37:30 +0200 Subject: [PATCH] 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. --- X/.config/xresources/xinitrc | 61 +++++++++++++++++------------------- 1 file changed, 29 insertions(+), 32 deletions(-) diff --git a/X/.config/xresources/xinitrc b/X/.config/xresources/xinitrc index ec23344..3b55347 100644 --- a/X/.config/xresources/xinitrc +++ b/X/.config/xresources/xinitrc @@ -8,50 +8,29 @@ sysmodmap=/etc/X11/xinit/.Xmodmap # merge in defaults and keymaps if [ -f $sysresources ]; then - xrdb -merge $sysresources + xrdb -merge $sysresources fi if [ -f $sysmodmap ]; then - xmodmap $sysmodmap + xmodmap $sysmodmap fi if [ -f "$userresources" ]; then - xrdb -merge "$userresources" + xrdb -merge "$userresources" fi if [ -f "$usermodmap" ]; then - xmodmap "$usermodmap" + xmodmap "$usermodmap" fi if [ -d /etc/X11/xinit/xinitrc.d ]; then - for f in /etc/X11/xinit/xinitrc.d/?*.sh; do - # shellcheck disable=1090 - [ -x "$f" ] && . "$f" - done - unset f + for f in /etc/X11/xinit/xinitrc.d/?*.sh; do + # shellcheck disable=1090 + [ -x "$f" ] && . "$f" + done + unset f 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 type unclutter >/dev/null 2>&1 && unclutter & # 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 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 - xinput set-prop "DLL075B:01 06CB:76AF Touchpad" "libinput Tapping Enabled" 1 + # enable touch tapping for XPS13 touchpad - for different devices get the touchpad name with xinput list-prop + 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 +# 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