3 # Purpose: load specific keyboard layout settings
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.
7 ################################################################################
9 CONFFILE=/etc/default/keyboard
13 echo "Usage: ${PN} <language>"
14 echo "supported values: at, ch, de, dvorak, es, fr, it, jp, us"
18 [ -n "$2" ] || return 1
19 sudo sed -i "s#^${1}=.*#${1}=\"${2}\"#" "${CONFFILE}"
22 if [ $# -lt "1" ] ; then
29 # shellcheck disable=SC1091
30 . /etc/grml/language-functions
32 if [ -n "$XKEYBOARD" ] ; then
33 setvalue XKBLAYOUT "$XKEYBOARD"
36 if [ -z "$DISPLAY" ] ;then
37 if [ "$1" = "de" ] ; then
38 echo "Loading keymap for Germany..."
39 sudo loadkeys i386/qwertz/de-latin1-nodeadkeys.kmap.gz
41 elif [ "$1" = "at" ] ; then
42 echo "Loading keymap for Austria..."
43 sudo loadkeys i386/qwertz/de-latin1-nodeadkeys.kmap.gz
45 elif [ "$1" = "ch" ] ; then
46 echo "Loading keymap for Switzerland..."
47 sudo loadkeys i386/qwertz/sg-latin1.kmap.gz
49 elif [ "$1" = "it" ] ; then
50 echo "Loading keymap for Italy..."
51 sudo loadkeys i386/qwerty/it.kmap.gz
53 elif [ "$1" = "us" ] ; then
54 echo 'Loading keymap us...'
55 sudo loadkeys i386/qwerty/us-latin1.kmap.gz
57 elif [ "$1" = "dvorak" ] ; then
58 echo 'Loading keymap dvorak...'
61 elif [ "$1" = "jp" ] ; then
62 echo 'Loading keymap jp...'
63 sudo loadkeys i386/qwerty/jp106.kmap.gz
65 elif [ "$1" = "es" ] ; then
66 echo 'Loading keymap es...'
67 sudo loadkeys i386/qwerty/es.kmap.gz
69 elif [ "$1" = "fr" ] ; then
70 echo 'Loading keymap fr...'
71 sudo loadkeys i386/azerty/fr.kmap.gz
73 else echo "No valid parameter given.
75 Notice: Use loadkeys on console and setxkbmap when running X for
76 modifying keyboard layout. Adjust \$LANG and \$LC_ALL for setting locales." ; exit 1
78 # switch to unicode mode on console
79 case $LANG in *UTF-8) kbd_mode -u ; ;; esac
84 if [ "$1" = "de" ] ; then
85 echo "Loading keymap for Germany..."
86 if [ -r "${HOME}"/.Xmodmap.german ] ; then
87 xmodmap "${HOME}"/.Xmodmap.german || setxkbmap de
92 elif [ "$1" = "at" ] ; then
93 echo "Loading keymap for Austria..."
96 elif [ "$1" = "ch" ] ; then
97 echo "Loading keymap for Switzerland..."
100 elif [ "$1" = "it" ] ; then
101 echo "Loading keymap for Italy..."
104 elif [ "$1" = "jp" ] ; then
105 echo "Loading keymap for Japan..."
106 setxkbmap -model jp106 -layout jp
108 elif [ "$1" = "dvorak" ] ; then
109 echo "Loading keymap dvorak..."
112 elif [ "$1" = "us" ] ; then
113 echo 'Loading keymap us...'
114 if [ -r "${HOME}"/.Xmodmap ] ; then
115 xmodmap "${HOME}"/.Xmodmap || setxkbmap us
120 elif [ "$1" = "es" ] ; then
121 echo "Loading keymap es..."
124 elif [ "$1" = "fr" ] ; then
125 echo "Loading keymap fr..."
129 echo "No valid parameter given."
133 echo "Notice: Use loadkeys on console and setxkbmap when running X for
134 modifying keyboard layout. Adjust \$LANG and \$LC_ALL for setting locales." ; exit 1
139 ## END OF FILE #################################################################