Accepting request 593838 from home:sbrabec:branches-kbd-fi-1085432
- Disable characters >=U+F000. These do not work properly (bsc#1085432#c15, kbd-unicode-fxxx.patch). OBS-URL: https://build.opensuse.org/request/show/593838 OBS-URL: https://build.opensuse.org/package/show/Base:System/kbd?expand=0&rev=109
This commit is contained in:
parent
93a30b004f
commit
21d9384083
@ -1,34 +1,71 @@
|
||||
Partially revert 3f065394 to not fail on ligature fi and other characters with UNICODE code 0xFxxx.
|
||||
Disable characters >=U+F000. These do not work properly.
|
||||
|
||||
Index: kbd-2.0.4/src/libkeymap/analyze.l
|
||||
Explanation from Alexey Gladkov:
|
||||
|
||||
The kbd value is unsigned short [1] and take a look how kernel gets
|
||||
a type [2]. The last bytes are occupied by type.
|
||||
|
||||
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/kd.h?id=06dd3dfeea60e2a6457a6aedf97afc8e6d2ba497#n103
|
||||
[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/keyboard.h?id=06dd3dfeea60e2a6457a6aedf97afc8e6d2ba497#n45
|
||||
|
||||
The problem in the kernel. In the kb_value there is no room to store such
|
||||
values.
|
||||
|
||||
Index: kbd-2.0.4/data/keymaps/i386/qwertz/de_alt_UTF-8.map
|
||||
===================================================================
|
||||
--- kbd-2.0.4.orig/src/libkeymap/analyze.l
|
||||
+++ kbd-2.0.4/src/libkeymap/analyze.l
|
||||
@@ -361,11 +361,6 @@ To to|To|TO
|
||||
}
|
||||
{Unicode} {
|
||||
yylval->num = strtol(yytext + 1, NULL, 16);
|
||||
- if (yylval->num >= 0xf000) {
|
||||
- ERR(yyextra, _("unicode keysym out of range: %s"),
|
||||
- yytext);
|
||||
- return(ERROR);
|
||||
- }
|
||||
return(UNUMBER);
|
||||
}
|
||||
{Decimal}|{Octal}|{Hex} {
|
||||
Index: kbd-2.0.4/src/libkeymap/analyze.c
|
||||
===================================================================
|
||||
--- kbd-2.0.4.orig/src/libkeymap/analyze.c
|
||||
+++ kbd-2.0.4/src/libkeymap/analyze.c
|
||||
@@ -1499,11 +1499,6 @@ YY_RULE_SETUP
|
||||
#line 362 "analyze.l"
|
||||
{
|
||||
yylval->num = strtol(yytext + 1, NULL, 16);
|
||||
- if (yylval->num >= 0xf000) {
|
||||
- ERR(yyextra, _("unicode keysym out of range: %s"),
|
||||
- yytext);
|
||||
- return(ERROR);
|
||||
- }
|
||||
return(UNUMBER);
|
||||
}
|
||||
YY_BREAK
|
||||
--- kbd-2.0.4.orig/data/keymaps/i386/qwertz/de_alt_UTF-8.map
|
||||
+++ kbd-2.0.4/data/keymaps/i386/qwertz/de_alt_UTF-8.map
|
||||
@@ -160,7 +160,7 @@ shift alt keycode 2 = U+00AC # notsig
|
||||
shift alt keycode 3 = U+201D # right double quote
|
||||
shift alt keycode 4 = numbersign
|
||||
shift alt keycode 5 = sterling
|
||||
-shift alt keycode 6 = U+FB01 # fi ligature
|
||||
+#shift alt keycode 6 = U+FB01 # fi ligature
|
||||
shift alt keycode 7 = dead_circumflex
|
||||
shift alt keycode 8 = backslash
|
||||
shift alt keycode 9 = U+02DC # small tilde
|
||||
@@ -179,7 +179,7 @@ shift alt keycode 23 = Ucircumflex
|
||||
shift alt keycode 24 = Ooblique
|
||||
shift alt keycode 25 = U+220F # n-ary product
|
||||
shift alt keycode 26 = degree
|
||||
-shift alt keycode 27 = U+F8FF # apple logo
|
||||
+#shift alt keycode 27 = U+F8FF # apple logo
|
||||
shift alt keycode 30 = Aring
|
||||
shift alt keycode 31 = Iacute
|
||||
shift alt keycode 32 = U+2122 # trade mark
|
||||
@@ -188,7 +188,7 @@ shift alt keycode 34 = Igrave
|
||||
shift alt keycode 35 = Oacute
|
||||
shift alt keycode 36 = U+0131 # dotless i
|
||||
shift alt keycode 37 = U+02C6 # circumflex accent
|
||||
-shift alt keycode 38 = U+FB02 # fl ligature
|
||||
+#shift alt keycode 38 = U+FB02 # fl ligature
|
||||
shift alt keycode 39 = U+0152 # OE
|
||||
shift alt keycode 40 = AE
|
||||
shift alt keycode 41 = U+201C # left double quote
|
||||
@@ -210,7 +210,7 @@ control shift alt keycode 2 = U+00AC
|
||||
control shift alt keycode 3 = U+201D # right double quote
|
||||
control shift alt keycode 4 = numbersign
|
||||
control shift alt keycode 5 = sterling
|
||||
-control shift alt keycode 6 = U+FB01 # fi ligature
|
||||
+#control shift alt keycode 6 = U+FB01 # fi ligature
|
||||
control shift alt keycode 7 = circumflex
|
||||
control shift alt keycode 8 = backslash
|
||||
control shift alt keycode 9 = U+02DC # small tilde
|
||||
@@ -229,7 +229,7 @@ control shift alt keycode 23 = Ucircumf
|
||||
control shift alt keycode 24 = Ooblique
|
||||
control shift alt keycode 25 = U+220F # n-ary product
|
||||
control shift alt keycode 26 = degree
|
||||
-control shift alt keycode 27 = U+F8FF # apple logo
|
||||
+#control shift alt keycode 27 = U+F8FF # apple logo
|
||||
control shift alt keycode 30 = Aring
|
||||
control shift alt keycode 31 = Iacute
|
||||
control shift alt keycode 32 = U+2122 # trade mark
|
||||
@@ -238,7 +238,7 @@ control shift alt keycode 34 = Igrave
|
||||
control shift alt keycode 35 = Oacute
|
||||
control shift alt keycode 36 = U+0131 # dotless i
|
||||
control shift alt keycode 37 = U+02C6 # circumflex accent
|
||||
-control shift alt keycode 38 = U+FB02 # fl ligature
|
||||
+#control shift alt keycode 38 = U+FB02 # fl ligature
|
||||
control shift alt keycode 39 = U+0152 # OE
|
||||
control shift alt keycode 40 = AE
|
||||
control shift alt keycode 41 = U+201C # left double quote
|
||||
|
@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 5 17:32:03 CEST 2018 - sbrabec@suse.com
|
||||
|
||||
- Disable characters >=U+F000. These do not work properly
|
||||
(bsc#1085432#c15, kbd-unicode-fxxx.patch).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 15 17:04:06 CET 2018 - sbrabec@suse.com
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user