[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