diff --git a/kbd.changes b/kbd.changes index b781cef..20ca299 100644 --- a/kbd.changes +++ b/kbd.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Thu Sep 4 17:48:50 CEST 2008 - mmarek@suse.cz + +- modified rckbd according to suggestions by Jiri Bohac + (bnc#367801#c17) + - first call setfont and then loadkeys, to make dead characters + work + - don't call dumpkeys | loadkeys --unicode + ------------------------------------------------------------------- Wed Aug 20 19:38:44 CEST 2008 - mmarek@suse.cz diff --git a/kbd.init b/kbd.init index b892e2e..3ef4416 100644 --- a/kbd.init +++ b/kbd.init @@ -269,6 +269,60 @@ case "$1" in ;; esac + if test "$MACHINE" = "ps3" ; then + # do not mess up console + unset CONSOLE_FONT + fi + # setfont + if test -d ${KBDBASE}/consolefonts -a \ + -n "$CONSOLE_FONT" -a "$CONSOLE_FONT" != "YAST_ASK" + then + if test ! -z "$CONSOLE_UNICODEMAP"; then + UMAP="-u $CONSOLE_UNICODEMAP" + fi + if test ! -z "$CONSOLE_SCREENMAP"; then + SMAP="-m $CONSOLE_SCREENMAP" + fi + PRINTABLE_MAGIC=""; + if test -n "$CONSOLE_MAGIC" -a "$CONSOLE_MAGIC" != "none"; then + case $CONSOLE_MAGIC in + \(B) PRINTABLE_MAGIC="G0:iso8859-1" ;; + \(0) PRINTABLE_MAGIC="G0:vt100" ;; + \(U) PRINTABLE_MAGIC="G0:ROM" ;; + \(K) PRINTABLE_MAGIC="G0:loadable" ;; + \)B) PRINTABLE_MAGIC="G1:iso8859-1" ;; + \)0) PRINTABLE_MAGIC="G1:vt100" ;; + \)U) PRINTABLE_MAGIC="G1:ROM" ;; + \)K) PRINTABLE_MAGIC="G1:loadable" ;; + *) PRINTABLE_MAGIC="magic='$CONSOLE_MAGIC'" ;; + esac + CONSOLE_MAGIC="\033$CONSOLE_MAGIC" + else + CONSOLE_MAGIC=""; + fi + if test -x /bin/setfont -a -n "$CONSOLE_FONT" ; then + echo "Loading console font $CONSOLE_FONT $UMAP $SMAP $PRINTABLE_MAGIC" + for tty in $KBD_TTY; do + # The chvt is not needed for SuSE kernels + test "$NON_SUSE_KERNEL" != "yes" || chvt ${tty#*tty} + + # Setfont tries to open a device + test "${tty##*/}" = "${tty}" && tty=/dev/$tty + + if test "$CONSOLE_FONT" = "default" ; then + setfont -C $tty -$(console_font_height $tty) $UMAP $SMAP + else + setfont -C $tty $CONSOLE_FONT $UMAP $SMAP + fi + rc_status + + echo -en "$CONSOLE_MAGIC" > $tty + done + test "$NON_SUSE_KERNEL" != "yes" || chvt $FGCONS + rc_status -v1 + fi + fi + if test -z "$KEYTABLE"; then echo "No keyboard map to load" @@ -397,60 +451,6 @@ case "$1" in rc_status -v1 fi - if test "$MACHINE" = "ps3" ; then - # do not mess up console - unset CONSOLE_FONT - fi - # setfont - if test -d ${KBDBASE}/consolefonts -a \ - -n "$CONSOLE_FONT" -a "$CONSOLE_FONT" != "YAST_ASK" - then - if test ! -z "$CONSOLE_UNICODEMAP"; then - UMAP="-u $CONSOLE_UNICODEMAP" - fi - if test ! -z "$CONSOLE_SCREENMAP"; then - SMAP="-m $CONSOLE_SCREENMAP" - fi - PRINTABLE_MAGIC=""; - if test -n "$CONSOLE_MAGIC" -a "$CONSOLE_MAGIC" != "none"; then - case $CONSOLE_MAGIC in - \(B) PRINTABLE_MAGIC="G0:iso8859-1" ;; - \(0) PRINTABLE_MAGIC="G0:vt100" ;; - \(U) PRINTABLE_MAGIC="G0:ROM" ;; - \(K) PRINTABLE_MAGIC="G0:loadable" ;; - \)B) PRINTABLE_MAGIC="G1:iso8859-1" ;; - \)0) PRINTABLE_MAGIC="G1:vt100" ;; - \)U) PRINTABLE_MAGIC="G1:ROM" ;; - \)K) PRINTABLE_MAGIC="G1:loadable" ;; - *) PRINTABLE_MAGIC="magic='$CONSOLE_MAGIC'" ;; - esac - CONSOLE_MAGIC="\033$CONSOLE_MAGIC" - else - CONSOLE_MAGIC=""; - fi - if test -x /bin/setfont -a -n "$CONSOLE_FONT" ; then - echo "Loading console font $CONSOLE_FONT $UMAP $SMAP $PRINTABLE_MAGIC" - for tty in $KBD_TTY; do - # The chvt is not needed for SuSE kernels - test "$NON_SUSE_KERNEL" != "yes" || chvt ${tty#*tty} - - # Setfont tries to open a device - test "${tty##*/}" = "${tty}" && tty=/dev/$tty - - if test "$CONSOLE_FONT" = "default" ; then - /bin/setfont -C $tty -$(console_font_height $tty) $UMAP $SMAP - else - /bin/setfont -C $tty $CONSOLE_FONT $UMAP $SMAP - fi - rc_status - - echo -en "$CONSOLE_MAGIC" > $tty - done - test "$NON_SUSE_KERNEL" != "yes" || chvt $FGCONS - rc_status -v1 - fi - fi - case "$RUNLEVEL" in S|N|1|\#) true ;; *) @@ -461,17 +461,6 @@ case "$1" in dumpkeys fi > /dev/shm/defkeymap.map - case $LOCALE_CHARMAP in - UTF-8) - # Change the keyboard mapping in such a way that the - # non-ASCII keys produce UTF-8 encoded multibyte sequences - # instead of single bytes >= 0x80 in a legacy 8-bit encoding. - loadkeys -C "$KBD_TTY" --unicode /dev/shm/defkeymap.map > /dev/null 2>&1 - ;; - *) - ;; - esac - if type -p cmp > /dev/null 2>&1 && cmp -s /etc/defkeymap.map /dev/shm/defkeymap.map then rm -f /dev/shm/defkeymap.map diff --git a/kbd.spec b/kbd.spec index 308cfcf..40a9280 100644 --- a/kbd.spec +++ b/kbd.spec @@ -24,7 +24,7 @@ License: GPL v2 or later Group: System/Console AutoReqProv: on Version: 1.14.1 -Release: 1 +Release: 5 Summary: Keyboard and Font Utilities Source: kbd-%{version}.tar.bz2 Source1: kbd_fonts.tar.bz2 @@ -294,6 +294,12 @@ install -m 644 %SOURCE12 $RPM_BUILD_ROOT/%{_mandir}/man8/ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Sep 04 2008 mmarek@suse.cz +- modified rckbd according to suggestions by Jiri Bohac + (bnc#367801#c17) + - first call setfont and then loadkeys, to make dead characters + work + - don't call dumpkeys | loadkeys --unicode * Wed Aug 20 2008 mmarek@suse.cz - updated to 1.14.1 * Programs