grml_wallpaper: support setting wallpaper background with xwallpaper
[grml-desktop.git] / etc / skel / .xinitrc.d / grml_keyboard
1 #!/bin/sh
2 # Filename:      ~/.xinitrc.d/grml_keyboard
3 # Purpose:       configuration of keyboard layout
4 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
5 # Bug-Reports:   see http://grml.org/bugs/
6 # License:       This file is licensed under the GPL v2 or any later version.
7 ################################################################################
8
9 if [ "${XINIT_GRML_KEYBOARD}" = "false" ] ; then
10    exit 0
11 fi
12
13 # Ctrl+Alt+Backspace killing xserver
14 setxkbmap -option terminate:ctrl_alt_bksp
15
16 apply_xmodmap_settings() {
17   if [ -r "${HOME}"/.Xmodmap ] ; then
18     xmodmap "${HOME}"/.Xmodmap || setxkbmap us
19   else
20     setxkbmap us
21   fi
22 }
23
24 if [ -r /etc/default/keyboard ] ; then # Grml >=2018.12
25   XKBLAYOUT="us" # assume as default
26
27   . /etc/default/keyboard
28
29   if [ "${XKBLAYOUT}" = "us" ] ; then
30     apply_xmodmap_settings
31   else
32     if [ -n "${XKBMODEL}" ] && [ -n "${XKBVARIANT}" ] ; then
33       setxkbmap -model "${XKEYMODEL}" -variant "${XKBVARIANT}" -layout "${XKBLAYOUT}"
34     elif [ -n "${XKBMODEL}" ] ; then
35       setxkbmap -model "${XKEYMODEL}" -layout "${XKBLAYOUT}"
36     elif [ -n "${XKBVARIANT}" ] ; then
37       setxkbmap -variant "${XKBVARIANT}" -layout "${XKBLAYOUT}"
38     else
39       setxkbmap "${XKBLAYOUT}"
40     fi
41   fi
42 elif [ -r /etc/sysconfig/keyboard ] ; then  # older Grml releases
43   . /etc/sysconfig/keyboard
44   if [ "${XKEYBOARD}" = "us" ] ; then
45     apply_xmodmap_settings
46   else
47     if [ -n "${XKEYMODEL}" ] ; then
48       setxkbmap -model "${XKEYMODEL}" -layout "${XKEYBOARD}"
49     else
50       setxkbmap "${XKEYBOARD}"
51     fi
52   fi
53 else  # last ressort fallback
54   apply_xmodmap_settings
55 fi
56
57 ## END OF FILE #################################################################