From e2dc0e7ebdda6980ecfb865ca4c3cf583f19efd2 Mon Sep 17 00:00:00 2001 From: jinzhimin369 Date: Fri, 25 Sep 2020 17:25:57 +0800 Subject: [PATCH] replace CtrlL_Lock with Caps_Lock --- console-setup-1.84-ctrll-lock.patch | 35 +++++++++++++++++++++++++++++ kbd.spec | 15 ++++++++++--- 2 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 console-setup-1.84-ctrll-lock.patch diff --git a/console-setup-1.84-ctrll-lock.patch b/console-setup-1.84-ctrll-lock.patch new file mode 100644 index 0000000..147e2a5 --- /dev/null +++ b/console-setup-1.84-ctrll-lock.patch @@ -0,0 +1,35 @@ +diff -up console-setup/Keyboard/ckbcomp.orig console-setup/Keyboard/ckbcomp +--- console-setup/Keyboard/ckbcomp.orig 2018-06-21 10:58:36.262160943 +0200 ++++ console-setup/Keyboard/ckbcomp 2018-06-27 13:04:01.843639711 +0200 +@@ -196,10 +196,6 @@ my %acmtable; # Unicode -> legacy code ( + + my $KEYMAP = ''; # This variable contains the generated keymap + +-my $broken_caps = 0; # In unicode mode Caps_Lock doesn't work for non-ASCII +- # letters. 1 = the keymap contains non-ascii letters. +- # See http://bugzilla.kernel.org/show_bug.cgi?id=7746#c21 +- + my %keycodes_table; # x keysym -> x key code + my %aliases; # x keysym -> x keysym + +@@ -4376,9 +4372,6 @@ sub print_vector { + my $u = ord (uc (pack ("U", $v))); + my $c = ($v == $l ? $u : $l); + $capsvector[$mask] = $1 ."U+". sprintf ("%04x", $c); +- if ($v != $c && $v gt 0x7f) { +- $broken_caps = 1; +- } + } + } + if ($no_NoSymbol) { +@@ -4776,10 +4769,6 @@ keycode 127 = + die "$0: Unsupported keyboard type $arch\n"; + } + +-if ($broken_caps) { +- $KEYMAP =~ s/Caps_Lock/CtrlL_Lock/g; +-} +- + print $KEYMAP; + + if ($freebsd) { diff --git a/kbd.spec b/kbd.spec index 6c77863..1da3b6f 100644 --- a/kbd.spec +++ b/kbd.spec @@ -1,6 +1,6 @@ Name: kbd Version: 2.2.0 -Release: 1 +Release: 2 Summary: Tools for managing Linux console(keyboard, virtual terminals, etc.) License: GPLv2+ URL: https://www.kbd-project.org/ @@ -23,6 +23,7 @@ Patch6: kbd-2.0.2-unicode-start-font.patch Patch7: kbd-2.0.4-covscan-fixes.patch Patch8: kbd-2.2.0-fix-flags.patch Patch9: kbd-2.2.0-format-security.patch +Patch6000: console-setup-1.84-ctrll-lock.patch BuildRequires: bison flex gettext pam-devel check-devel BuildRequires: gcc console-setup xkeyboard-config automake @@ -58,6 +59,7 @@ But %{name}-legacy can do nothing without %{name}. %setup -q -a 1 -a 2 cp -fp %{SOURCE3} . cp -fp %{SOURCE6} . +cp %{_bindir}/ckbcomp . %patch0 -p1 -b .keycodes-man %patch1 -p1 -b .sparc %patch2 -p1 -b .unicode_start @@ -68,6 +70,7 @@ cp -fp %{SOURCE6} . %patch7 -p1 -b .covscan-fixes.patch %patch8 -p1 -b .fix-flags.patch %patch9 -p1 -b .format-security.patch +%patch6000 -p2 autoconf pushd data/keymaps/i386 @@ -130,12 +133,12 @@ while read line; do XKBLAYOUT=`echo "$line" | cut -d " " -f 1` echo "$XKBLAYOUT" >> layouts-list.lst XKBVARIANT=`echo "$line" | cut -d " " -f 2` - ckbcomp "$XKBLAYOUT" "$XKBVARIANT" | gzip > %{buildroot}/lib/%{name}/keymaps/xkb/"$XKBLAYOUT"-"$XKBVARIANT".map.gz + ./ckbcomp "$XKBLAYOUT" "$XKBVARIANT" | gzip > %{buildroot}/lib/%{name}/keymaps/xkb/"$XKBLAYOUT"-"$XKBVARIANT".map.gz done < layouts-variants.lst cat layouts-list.lst | sort -u >> layouts-list-uniq.lst while read line; do - ckbcomp "$line" | gzip > %{buildroot}/lib/%{name}/keymaps/xkb/"$line".map.gz + ./ckbcomp "$line" | gzip > %{buildroot}/lib/%{name}/keymaps/xkb/"$line".map.gz done < layouts-list-uniq.lst gunzip %{buildroot}/lib/%{name}/keymaps/xkb/fi.map.gz @@ -173,6 +176,12 @@ gzip %{buildroot}/lib/%{name}/keymaps/xkb/cz.map %{_mandir}/man8/*.8.gz %changelog +* Fri Sep 25 2020 yanglu - 2.2.0-2 +- Type:bugfix +- Id:NA +- SUG:NA +- DESC:replace CtrlL_Lock with Caps_Lock + * Tue Jul 28 2020 hanhui - 2.2.0-1 - update to 2.2.0 -- Gitee