[Glibc-bsd-commits] r3239 - branches/squeeze/freebsd-utils/debian
Petr Salinger
ps-guest at alioth.debian.org
Sat Jan 22 19:01:35 UTC 2011
Author: ps-guest
Date: 2011-01-22 19:01:32 +0000 (Sat, 22 Jan 2011)
New Revision: 3239
Modified:
branches/squeeze/freebsd-utils/debian/changelog
branches/squeeze/freebsd-utils/debian/kbdcontrol.init
Log:
squeeze branch: enhance kbdcontrol.init, related to Debian Policy, 9.8 Keyboard configuration
Modified: branches/squeeze/freebsd-utils/debian/changelog
===================================================================
--- branches/squeeze/freebsd-utils/debian/changelog 2011-01-22 11:14:35 UTC (rev 3238)
+++ branches/squeeze/freebsd-utils/debian/changelog 2011-01-22 19:01:32 UTC (rev 3239)
@@ -1,3 +1,11 @@
+freebsd-utils (8.1-4) unstable; urgency=low
+
+ [ Petr Salinger ]
+ * enhance kbdcontrol.init, related to Debian Policy,
+ 9.8 Keyboard configuration. See: #605777.
+
+ -- Aurelien Jarno <aurel32 at debian.org> Sat, 22 Jan 2011 20:03:06 +0100
+
freebsd-utils (8.1-3.1) unstable; urgency=high
* Non-maintainer upload (requested by Petr).
Modified: branches/squeeze/freebsd-utils/debian/kbdcontrol.init
===================================================================
--- branches/squeeze/freebsd-utils/debian/kbdcontrol.init 2011-01-22 11:14:35 UTC (rev 3238)
+++ branches/squeeze/freebsd-utils/debian/kbdcontrol.init 2011-01-22 19:01:32 UTC (rev 3239)
@@ -22,8 +22,88 @@
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-which kbdcontrol >/dev/null
+which kbdcontrol >/dev/null || exit 0
+# in general, keymap layout can be
+# native: the plain FreeBSD/cons25 layout
+# debian: the Debian Policy 9.8 (Keyboard configuration) conforming, aka cons25-debian
+# auto: scan /etc/inittab and guess the right one
+FLAVOUR=auto
+
+# for auto do the guess
+if [ $FLAVOUR = auto ]
+then
+ if grep -v "#" /etc/inittab | grep -q -e "respawn:/sbin/getty.*cons25-debian"
+ then
+ FLAVOUR=debian
+ fi
+fi
+
+
+alter_to_debian_keymap () {
+ # change keymap layout to Debian Policy 9.8 (Keyboard configuration) conforming
+
+ # 014 del del bs bs del del bs bs O
+ # 142 del del bs bs del del bs bs O
+
+ # 103 fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot fkey61 O
+ # 231 fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot fkey61 O
+
+ # in following part change only first one, do not change the rest (decimal separator)
+
+ # 083 fkey61 '.' '.' '.' '.' '.' boot boot N
+ # 211 fkey61 '.' '.' '.' '.' '.' boot boot N
+
+ echo -n "Altering to policy conforming cons25-debian layout..."
+ TMPFILE=`mktemp -t keymap.XXXXXXXXXX` || exit 1
+
+ kbdcontrol -d | sed \
+ -e "s/^ 083 del / 083 fkey61/" \
+ -e "s/^ 211 del / 211 fkey61/" \
+ -e "s/^ 083 bs / 083 fkey61/" \
+ -e "s/^ 211 bs / 211 fkey61/" \
+ -e "s/^ 014 .*/ 014 del del bs bs del del bs bs O/" \
+ -e "s/^ 142 .*/ 142 del del bs bs del del bs bs O/" \
+ -e "s/^ 103 .*/ 103 fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot fkey61 O/" \
+ -e "s/^ 231 .*/ 231 fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot fkey61 O/" \
+ > $TMPFILE
+
+ kbdcontrol -l $TMPFILE
+ rm -f $TMPFILE
+
+ # and generate ESC [ 3 ~ for fkey61
+ SEQ=`/bin/echo -n -e \\\033[3~`
+ #echo $SEQ | od -ax
+ kbdcontrol -f 61 $SEQ
+ echo "done."
+}
+
+
+alter_to_native_keymap () {
+ # change keymap layout to usual cons25
+
+ # 014 bs bs del del bs bs del del O
+ # 142 bs bs del del bs bs del del O
+
+ echo -n "Altering to native cons25 layout..."
+ TMPFILE=`mktemp -t keymap.XXXXXXXXXX` || exit 1
+
+ kbdcontrol -d | sed \
+ -e "s/^ 014 .*/ 014 bs bs del del bs bs del del O/" \
+ -e "s/^ 142 .*/ 142 bs bs del del bs bs del del O/" \
+ > $TMPFILE
+
+ kbdcontrol -l $TMPFILE
+ rm -f $TMPFILE
+
+ # and generate del for fkey61
+ SEQ=`/bin/echo -n -e \\\\177`
+ #echo $SEQ | od -ax
+ kbdcontrol -f 61 $SEQ
+ echo "done."
+}
+
+
do_start() {
if test -e /etc/kbdcontrol.conf ; then
echo -n "Loading console keymap..."
@@ -32,9 +112,14 @@
fi
}
+
case "$1" in
start|"")
do_start
+ if [ $FLAVOUR = debian ]
+ then
+ alter_to_debian_keymap < /dev/console
+ fi
;;
restart|reload|force-reload)
echo "Error: argument '$1' not supported" >&2
@@ -43,8 +128,14 @@
stop)
# No-op
;;
+ keymap-native)
+ alter_to_native_keymap < /dev/console
+ ;;
+ keymap-debian)
+ alter_to_debian_keymap < /dev/console
+ ;;
*)
- echo "Usage: $0 [start|stop]" >&2
+ echo "Usage: $0 [start|stop|keymap-native|keymap-debian]" >&2
exit 3
;;
esac
More information about the Glibc-bsd-commits
mailing list