Hello community,

here is the log from the commit of package kbd for openSUSE:Factory checked in 
at 2018-04-16 12:43:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kbd (Old)
 and      /work/SRC/openSUSE:Factory/.kbd.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kbd"

Mon Apr 16 12:43:47 2018 rev:89 rq:595699 version:2.0.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/kbd/kbd.changes  2018-03-24 16:10:21.218369233 
+0100
+++ /work/SRC/openSUSE:Factory/.kbd.new/kbd.changes     2018-04-16 
12:43:48.916406195 +0200
@@ -1,0 +2,6 @@
+Thu Apr  5 17:32:03 CEST 2018 - sbra...@suse.com
+
+- Disable characters >=U+F000. These do not work properly
+  (bsc#1085432#c15, kbd-unicode-fxxx.patch).
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kbd-unicode-fxxx.patch ++++++
--- /var/tmp/diff_new_pack.hNLP5k/_old  2018-04-16 12:43:49.884370973 +0200
+++ /var/tmp/diff_new_pack.hNLP5k/_new  2018-04-16 12:43:49.884370973 +0200
@@ -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
-===================================================================
---- 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
+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.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


Reply via email to