convert ssharp to the correct uppercase letter
This commit is contained in:
parent
a908ef1692
commit
a9e2e62fc2
50
0001-keysym-handle-ssharp-in-XConvertCase.patch
Normal file
50
0001-keysym-handle-ssharp-in-XConvertCase.patch
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
From adaf6072aeb4048f459cf855ee92b5188bc6d9e5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Hutterer <peter.hutterer@who-t.net>
|
||||||
|
Date: Fri, 13 Dec 2019 13:35:25 +1000
|
||||||
|
Subject: [PATCH] keysym: handle ssharp in XConvertCase()
|
||||||
|
|
||||||
|
lowercase: LATIN SMALL LETTER SHARP S (U+00DF)
|
||||||
|
uppercase: LATIN CAPITAL LETTER SHARP S (U+1E9E)
|
||||||
|
|
||||||
|
The uppercase sharp s (XK_ssharp) is a relatively recent addition to unicode
|
||||||
|
but was added to the relevant keyboard layouts in xkeyboard-config-2.25
|
||||||
|
(d1411e5e95c)
|
||||||
|
https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/issues/144
|
||||||
|
|
||||||
|
Alas, the CapsLock behavior was broken on the finnish layout (maybe others).
|
||||||
|
This was due XConvertCase() never returning the uppercase characters.
|
||||||
|
|
||||||
|
Let's make this function return the right lower/upper symbols for the sharp s
|
||||||
|
and hope that the world won't get any worse because of it.
|
||||||
|
|
||||||
|
Corresponding Xlib patch:
|
||||||
|
https://gitlab.freedesktop.org/xorg/lib/libx11/issues/110
|
||||||
|
---
|
||||||
|
src/keysym.c | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/keysym.c b/src/keysym.c
|
||||||
|
index 6d06de0..f3a196b 100644
|
||||||
|
--- a/src/keysym.c
|
||||||
|
+++ b/src/keysym.c
|
||||||
|
@@ -478,6 +478,8 @@ UCSConvertCase(uint32_t code, xkb_keysym_t *lower, xkb_keysym_t *upper)
|
||||||
|
*upper = 0x0178;
|
||||||
|
else if (code == 0x00b5) /* micro sign */
|
||||||
|
*upper = 0x039c;
|
||||||
|
+ else if (code == 0x00df) /* ssharp */
|
||||||
|
+ *upper = 0x1e9e;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -607,6 +609,8 @@ UCSConvertCase(uint32_t code, xkb_keysym_t *lower, xkb_keysym_t *upper)
|
||||||
|
}
|
||||||
|
else if (code == 0x1e9b)
|
||||||
|
*upper = 0x1e60;
|
||||||
|
+ else if (code == 0x1e9e)
|
||||||
|
+ *lower = XKB_KEY_ssharp;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Greek Extended, U+1F00 to U+1FFF */
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Name: libxkbcommon
|
Name: libxkbcommon
|
||||||
Version: 0.9.1
|
Version: 0.9.1
|
||||||
Release: 2%{?gitdate:.%{gitdate}}%{?dist}
|
Release: 3%{?gitdate:.%{gitdate}}%{?dist}
|
||||||
Summary: X.Org X11 XKB parsing library
|
Summary: X.Org X11 XKB parsing library
|
||||||
License: MIT
|
License: MIT
|
||||||
URL: http://www.x.org
|
URL: http://www.x.org
|
||||||
@ -14,6 +14,8 @@ Source0: http://xkbcommon.org/download/%{name}-%{version}.tar.xz
|
|||||||
%endif
|
%endif
|
||||||
Source1: make-git-snapshot.sh
|
Source1: make-git-snapshot.sh
|
||||||
|
|
||||||
|
Patch01: 0001-keysym-handle-ssharp-in-XConvertCase.patch
|
||||||
|
|
||||||
BuildRequires: git meson
|
BuildRequires: git meson
|
||||||
BuildRequires: xorg-x11-util-macros byacc flex bison
|
BuildRequires: xorg-x11-util-macros byacc flex bison
|
||||||
BuildRequires: xorg-x11-proto-devel libX11-devel
|
BuildRequires: xorg-x11-proto-devel libX11-devel
|
||||||
@ -89,6 +91,9 @@ X.Org X11 XKB keymap creation library development package
|
|||||||
%{_libdir}/pkgconfig/xkbcommon-x11.pc
|
%{_libdir}/pkgconfig/xkbcommon-x11.pc
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Dec 13 2019 Peter Hutterer <peter.hutterer@redhat.com> 0.9.1-3
|
||||||
|
- convert ssharp to the correct uppercase letter
|
||||||
|
|
||||||
* Fri Nov 01 2019 Peter Hutterer <peter.hutterer@redhat.com> 0.9.1-2
|
* Fri Nov 01 2019 Peter Hutterer <peter.hutterer@redhat.com> 0.9.1-2
|
||||||
- drop the wayland-devel BR, we disable the wayland test programs
|
- drop the wayland-devel BR, we disable the wayland test programs
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user