aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--gotrc-examples/loadkeys47
1 files changed, 47 insertions, 0 deletions
diff --git a/gotrc-examples/loadkeys b/gotrc-examples/loadkeys
new file mode 100644
index 0000000..b3b2352
--- /dev/null
+++ b/gotrc-examples/loadkeys
@@ -0,0 +1,47 @@
+# -*- shell-script -*-
+
+# gates-of-tartaros – Minimal replacement for agetty with SSH support
+#
+# Copyright © 2013, 2014, 2015 Mattias Andrée (maandree@member.fsf.org)
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+
+# The module lets the user select keyboard layout by
+# first pressing enter without typing in a username;
+# this in compatible with the no-empty-user module
+
+
+login_function_loadkeys=$login_function
+login_function=_login_loadkeys
+
+_login_loadkeys ()
+{
+ if [ "${user}" = "" ]; then
+ printf '%s' 'Keyboard layout: '
+ $read_function
+ if [ ! "${user}" = "" ]; then
+ user_="$(printf "%s" "${user}" | sed 's:/::g')"
+ if [ "${user}" = "${user_}" ]; then
+ loadkeys -C $(tty) -- ${user} || sleep 2
+ else
+ echo 'Sorry, only installed keymaps!'
+ sleep 2
+ fi
+ fi
+ else
+ $login_function_loadkeys
+ fi
+}
+