Hello community,

here is the log from the commit of package libxkbfile for openSUSE:Factory 
checked in at 2019-03-26 22:29:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libxkbfile (Old)
 and      /work/SRC/openSUSE:Factory/.libxkbfile.new.25356 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libxkbfile"

Tue Mar 26 22:29:09 2019 rev:11 rq:687387 version:1.1.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/libxkbfile/libxkbfile.changes    2015-11-11 
10:28:49.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libxkbfile.new.25356/libxkbfile.changes 
2019-03-26 22:29:11.629752534 +0100
@@ -1,0 +2,7 @@
+Thu Mar 21 15:22:18 UTC 2019 - Stefan Dirsch <[email protected]>
+
+- Update to version 1.1.0
+  * This release adds support for the NoLock, NoUnlock, and
+    genKeyEvent flags.
+
+-------------------------------------------------------------------

Old:
----
  libxkbfile-1.0.9.tar.bz2

New:
----
  libxkbfile-1.1.0.tar.bz2

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

Other differences:
------------------
++++++ libxkbfile.spec ++++++
--- /var/tmp/diff_new_pack.l5cjIX/_old  2019-03-26 22:29:12.317752368 +0100
+++ /var/tmp/diff_new_pack.l5cjIX/_new  2019-03-26 22:29:12.317752368 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package libxkbfile
 #
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 Name:           libxkbfile
 %define lname  libxkbfile1
-Version:        1.0.9
+Version:        1.1.0
 Release:        0
 Summary:        X11 keyboard file manipulation library
 License:        MIT
@@ -45,8 +45,8 @@
 
 %package -n %lname
 Summary:        X11 keyboard file manipulation library
-Group:          System/Libraries
 # O/P added for 12.2
+Group:          System/Libraries
 Provides:       xorg-x11-libxkbfile = 7.6_%version-%release
 Obsoletes:      xorg-x11-libxkbfile < 7.6_%version-%release
 Requires:       xkeyboard-config

++++++ libxkbfile-1.0.9.tar.bz2 -> libxkbfile-1.1.0.tar.bz2 ++++++
++++ 25750 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libxkbfile-1.0.9/ChangeLog new/libxkbfile-1.1.0/ChangeLog
--- old/libxkbfile-1.0.9/ChangeLog      2015-05-01 07:26:38.000000000 +0200
+++ new/libxkbfile-1.1.0/ChangeLog      2019-03-16 19:36:14.000000000 +0100
@@ -1,3 +1,127 @@
+commit 261992d42905f209cd5bf6afcf8a7ae3aa30b3ff
+Author: Alan Coopersmith <[email protected]>
+Date:   Sat Mar 16 11:30:41 2019 -0700
+
+    libxkbfile 1.1.0
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
+
+commit 306087b60496d6493323433573ee9b9fb392dd7b
+Author: Alan Coopersmith <[email protected]>
+Date:   Sat Mar 16 11:22:06 2019 -0700
+
+    Add description of libxkbfile to README.md
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
+
+commit 28822317438b6800435145a0312dbce59a03eaa3
+Author: Alan Coopersmith <[email protected]>
+Date:   Fri Dec 7 19:44:24 2018 -0800
+
+    Update configure.ac bug URL for gitlab migration
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
+
+commit 340581e83d57414b5f33fd2f9f22fdfebf0d4b8d
+Author: Alan Coopersmith <[email protected]>
+Date:   Mon Nov 19 23:07:00 2018 -0800
+
+    Update README for gitlab migration
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
+
+commit b660c757e308b7c561dba16d45d18863bfa2973e
+Author: Alan Coopersmith <[email protected]>
+Date:   Sat Nov 10 13:21:42 2018 -0800
+
+    Remove obsolete B16 & B32 tags in struct definitions
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
+
+commit d2ec504fec2550f4fd046e801b34317ef4a4bab9
+Author: Martin Burggraf <[email protected]>
+Date:   Thu Aug 13 21:16:40 2015 +0200
+
+    correcting mathematical nonsense
+    
+    V2: Fixing the issue with numbers between 0 -1
+    
+    Reviewed-by: Alan Coopersmith <[email protected]>
+    Signed-off-by: Alan Coopersmith <[email protected]>
+
+commit 1c070d1153e293169909b0fc8e9ff65be9121fa0
+Author: Mihail Konev <[email protected]>
+Date:   Thu Jan 26 13:52:49 2017 +1000
+
+    autogen: add default patch prefix
+    
+    Signed-off-by: Mihail Konev <[email protected]>
+
+commit 9e39e36316f3dd28b1fd6f71562ec93bce2da35a
+Author: Emil Velikov <[email protected]>
+Date:   Mon Mar 9 12:00:52 2015 +0000
+
+    autogen.sh: use quoted string variables
+    
+    Place quotes around the $srcdir, $ORIGDIR and $0 variables to prevent
+    fall-outs, when they contain space.
+    
+    Signed-off-by: Emil Velikov <[email protected]>
+    Reviewed-by: Peter Hutterer <[email protected]>
+    Signed-off-by: Peter Hutterer <[email protected]>
+
+commit cfea939bb7d61d51b74493d77294010ddef490f0
+Author: Peter Hutterer <[email protected]>
+Date:   Tue Jan 24 10:32:07 2017 +1000
+
+    autogen.sh: use exec instead of waiting for configure to finish
+    
+    Syncs the invocation of configure with the one from the server.
+    
+    Signed-off-by: Peter Hutterer <[email protected]>
+    Reviewed-by: Emil Velikov <[email protected]>
+
+commit 56fa447282c47bf23d05e18a42bbd0184dbd8302
+Author: Andreas Wettstein <[email protected]>
+Date:   Sat Feb 15 17:35:50 2014 +0100
+
+    Fix mistyped argument of sizeof
+    
+    A pointer rather than the buffer was given to sizeof.  As the data to be
+    written is only one or two bytes, a pointer size is at least four bytes, 
and
+    the buffer has 32 bytes, this error did not have negative effects.
+    
+    Signed-off-by: Andreas Wettstein <[email protected]>
+    Reviewed-by: Alan Coopersmith <[email protected]>
+    Signed-off-by: Alan Coopersmith <[email protected]>
+
+commit a594dde52b7903feab839f5cfe08755753aca20e
+Author: Andreas Wettstein <[email protected]>
+Date:   Sat Feb 15 17:35:29 2014 +0100
+
+    Add support for genKeyEvent flag
+    
+    ActionMessage has an optional flag genKeyEvent.  This change makes sure 
this
+    flag is printed when it is set.
+    
+    Signed-off-by: Andreas Wettstein <[email protected]>
+    Reviewed-By: Ran Benita <[email protected]>
+    Signed-off-by: Alan Coopersmith <[email protected]>
+
+commit 6223ec08213cb8cc546418690c27e0fdd4f0addd
+Author: Andreas Wettstein <[email protected]>
+Date:   Sat Feb 15 17:35:09 2014 +0100
+
+    Add missing support for NoLock and NoUnlock flags
+    
+    The LockMods, ISOLock and LockControls support an "affect" flag to 
selectively
+    enable and disable locking and unlocking for these actions.  This change 
adds
+    output of these flags.
+    
+    Signed-off-by: Andreas Wettstein <[email protected]>
+    Reviewed-By: Ran Benita <[email protected]>
+    Signed-off-by: Alan Coopersmith <[email protected]>
+
 commit de4f2307448583988a55a587cb6a3f43e4868378
 Author: Alan Coopersmith <[email protected]>
 Date:   Thu Apr 30 22:24:39 2015 -0700
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libxkbfile-1.0.9/Makefile.am new/libxkbfile-1.1.0/Makefile.am
--- old/libxkbfile-1.0.9/Makefile.am    2015-05-01 07:24:42.000000000 +0200
+++ new/libxkbfile-1.1.0/Makefile.am    2019-03-16 19:35:59.000000000 +0100
@@ -35,3 +35,5 @@
        $(CHANGELOG_CMD)
 
 dist-hook: ChangeLog INSTALL
+
+EXTRA_DIST = README.md
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libxkbfile-1.0.9/README new/libxkbfile-1.1.0/README
--- old/libxkbfile-1.0.9/README 2015-05-01 07:24:42.000000000 +0200
+++ new/libxkbfile-1.1.0/README 1970-01-01 01:00:00.000000000 +0100
@@ -1,24 +0,0 @@
-
-All questions regarding this software should be directed at the
-Xorg mailing list:
-
-        http://lists.freedesktop.org/mailman/listinfo/xorg
-
-Please submit bug reports to the Xorg bugzilla:
-
-        https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
-
-The master development code repository can be found at:
-
-        git://anongit.freedesktop.org/git/xorg/lib/libxkbfile
-
-        http://cgit.freedesktop.org/xorg/lib/libxkbfile
-
-For patch submission instructions, see:
-
-       http://www.x.org/wiki/Development/Documentation/SubmittingPatches
-
-For more information on the git code manager, see:
-
-        http://wiki.x.org/wiki/GitPage
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libxkbfile-1.0.9/README.md new/libxkbfile-1.1.0/README.md
--- old/libxkbfile-1.0.9/README.md      1970-01-01 01:00:00.000000000 +0100
+++ new/libxkbfile-1.1.0/README.md      2019-03-16 19:35:59.000000000 +0100
@@ -0,0 +1,21 @@
+libxkbfile - XKB file handling routines
+---------------------------------------
+
+libxkbfile is used by the X servers and utilities to parse the XKB
+configuration data files.
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+  https://lists.x.org/mailman/listinfo/xorg
+
+The master development code repository can be found at:
+
+  https://gitlab.freedesktop.org/xorg/lib/libxkbfile
+
+Please submit bug reports and requests to merge patches there.
+
+For patch submission instructions, see:
+
+  https://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libxkbfile-1.0.9/config.h.in new/libxkbfile-1.1.0/config.h.in
--- old/libxkbfile-1.0.9/config.h.in    2015-05-01 07:24:50.000000000 +0200
+++ new/libxkbfile-1.1.0/config.h.in    2019-03-16 19:36:06.000000000 +0100
@@ -33,8 +33,7 @@
 /* 'Unlocked stdio' */
 #undef HAVE_UNLOCKED_STDIO
 
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
-   */
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
 #undef LT_OBJDIR
 
 /* Do not have 'strcasecmp'. */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libxkbfile-1.0.9/configure.ac new/libxkbfile-1.1.0/configure.ac
--- old/libxkbfile-1.0.9/configure.ac   2015-05-01 07:24:42.000000000 +0200
+++ new/libxkbfile-1.1.0/configure.ac   2019-03-16 19:35:59.000000000 +0100
@@ -22,8 +22,8 @@
 
 # Initialize Autoconf
 AC_PREREQ([2.60])
-AC_INIT([libxkbfile], [1.0.9],
-        [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], 
[libxkbfile])
+AC_INIT([libxkbfile], [1.1.0],
+        [https://gitlab.freedesktop.org/xorg/lib/libxkbfile/issues], 
[libxkbfile])
 AC_CONFIG_SRCDIR([Makefile.am])
 AC_CONFIG_HEADERS([config.h])
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libxkbfile-1.0.9/include/X11/extensions/XKMformat.h 
new/libxkbfile-1.1.0/include/X11/extensions/XKMformat.h
--- old/libxkbfile-1.0.9/include/X11/extensions/XKMformat.h     2015-05-01 
07:24:42.000000000 +0200
+++ new/libxkbfile-1.1.0/include/X11/extensions/XKMformat.h     2019-03-16 
19:35:59.000000000 +0100
@@ -36,23 +36,23 @@
        CARD8           min_kc;
        CARD8           max_kc;
        CARD8           num_toc;
-       CARD16          present B16;
-       CARD16          pad B16;
+       CARD16          present;
+       CARD16          pad;
 } xkmFileInfo;
 #define        sz_xkmFileInfo  8
 
 typedef        struct _xkmSectionInfo {
-       CARD16          type B16;
-       CARD16          format B16;
-       CARD16          size B16;
-       CARD16          offset B16;
+       CARD16          type;
+       CARD16          format;
+       CARD16          size;
+       CARD16          offset;
 } xkmSectionInfo;
 #define        sz_xkmSectionInfo       8
 
 typedef struct _xkmKeyTypeDesc {
        CARD8           realMods;
        CARD8           numLevels;
-       CARD16          virtualMods B16;
+       CARD16          virtualMods;
        CARD8           nMapEntries;
        CARD8           nLevelNames;
        CARD8           preserve;
@@ -63,26 +63,26 @@
 typedef struct _xkmKTMapEntryDesc {
        CARD8           level;
        CARD8           realMods;
-       CARD16          virtualMods B16;
+       CARD16          virtualMods;
 } xkmKTMapEntryDesc;
 #define        sz_xkmKTMapEntryDesc    4
 
 typedef struct _xkmModsDesc {
        CARD8           realMods;
        CARD8           pad;
-       CARD16          virtualMods B16;
+       CARD16          virtualMods;
 } xkmModsDesc;
 #define        sz_xkmModsDesc  4
 
 typedef struct _xkmVModMapDesc {
        CARD8           key;
        CARD8           pad;
-       CARD16          vmods B16;
+       CARD16          vmods;
 } xkmVModMapDesc;
 #define        sz_xkmVModMapDesc       4
 
 typedef struct _xkmSymInterpretDesc {
-       CARD32          sym B32;
+       CARD32          sym;
        CARD8           mods;
        CARD8           match;
        CARD8           virtualMod;
@@ -95,7 +95,7 @@
 typedef struct _xkmBehaviorDesc {
        CARD8           type;
        CARD8           data;
-       CARD16          pad B16;
+       CARD16          pad;
 } xkmBehaviorDesc;
 #define        sz_xkmBehaviorDesc      4
 
@@ -128,38 +128,38 @@
        CARD8           flags;
        CARD8           which_mods;
        CARD8           real_mods;
-       CARD16          vmods B16;
+       CARD16          vmods;
        CARD8           which_groups;
        CARD8           groups;
-       CARD32          ctrls B32;
+       CARD32          ctrls;
 } xkmIndicatorMapDesc;
 #define sz_xkmIndicatorMapDesc 12
 
 typedef struct _xkmGeometryDesc {
-       CARD16          width_mm B16;
-       CARD16          height_mm B16;
+       CARD16          width_mm;
+       CARD16          height_mm;
        CARD8           base_color_ndx;
        CARD8           label_color_ndx;
-       CARD16          num_properties B16;
-       CARD16          num_colors B16;
-       CARD16          num_shapes B16;
-       CARD16          num_sections B16;
-       CARD16          num_doodads B16;
-       CARD16          num_key_aliases B16;
-       CARD16          pad1 B16;
+       CARD16          num_properties;
+       CARD16          num_colors;
+       CARD16          num_shapes;
+       CARD16          num_sections;
+       CARD16          num_doodads;
+       CARD16          num_key_aliases;
+       CARD16          pad1;
 } xkmGeometryDesc;
 #define        sz_xkmGeometryDesc      20
 
 typedef struct _xkmPointDesc {
-       INT16           x B16;
-       INT16           y B16;
+       INT16           x;
+       INT16           y;
 } xkmPointDesc;
 #define        sz_xkmPointDesc         4
 
 typedef        struct _xkmOutlineDesc {
        CARD8           num_points;
        CARD8           corner_radius;
-       CARD16          pad B16;
+       CARD16          pad;
 } xkmOutlineDesc;
 #define        sz_xkmOutlineDesc       4
 
@@ -172,31 +172,31 @@
 #define        sz_xkmShapeDesc 4
 
 typedef struct _xkmSectionDesc {
-       INT16           top B16;
-       INT16           left B16;
-       CARD16          width B16;
-       CARD16          height B16;
-       INT16           angle B16;
+       INT16           top;
+       INT16           left;
+       CARD16          width;
+       CARD16          height;
+       INT16           angle;
        CARD8           priority;
        CARD8           num_rows;
        CARD8           num_doodads;
        CARD8           num_overlays;
-       CARD16          pad2 B16;
+       CARD16          pad2;
 } xkmSectionDesc;
 #define        sz_xkmSectionDesc       16
 
 typedef struct _xkmRowDesc {
-       INT16           top B16;
-       INT16           left B16;
+       INT16           top;
+       INT16           left;
        CARD8           num_keys;
        BOOL            vertical;
-       CARD16          pad B16;
+       CARD16          pad;
 } xkmRowDesc;
 #define        sz_xkmRowDesc           8
 
 typedef struct _xkmKeyDesc {
        CARD8           name[XkbKeyNameLength];
-       INT16           gap B16;
+       INT16           gap;
        CARD8           shape_ndx;
        CARD8           color_ndx;
 } xkmKeyDesc;
@@ -205,14 +205,14 @@
 typedef struct _xkmOverlayDesc {
        CARD8           num_rows;
        CARD8           pad1;
-       CARD16          pad2 B16;
+       CARD16          pad2;
 } xkmOverlayDesc;
 #define        sz_xkmOverlayDesc       4
 
 typedef struct _xkmOverlayRowDesc {
        CARD8           row_under;
        CARD8           num_keys;
-       CARD16          pad B16;
+       CARD16          pad;
 } xkmOverlayRowDesc;
 #define        sz_xkmOverlayRowDesc    4
 
@@ -225,65 +225,65 @@
 typedef struct _xkmShapeDoodadDesc {
        CARD8           type;
        CARD8           priority;
-       INT16           top B16;
-       INT16           left B16;
-       INT16           angle B16;
+       INT16           top;
+       INT16           left;
+       INT16           angle;
        CARD8           color_ndx;
        CARD8           shape_ndx;
-       CARD16          pad B16;
-       CARD32          pad1 B32;
+       CARD16          pad;
+       CARD32          pad1;
 } xkmShapeDoodadDesc;
 #define        sz_xkmShapeDoodadDesc   16
 
 typedef struct _xkmTextDoodadDesc {
        CARD8           type;
        CARD8           priority;
-       INT16           top B16;
-       INT16           left B16;
-       INT16           angle B16;
-       CARD16          width B16;
-       CARD16          height B16;
+       INT16           top;
+       INT16           left;
+       INT16           angle;
+       CARD16          width;
+       CARD16          height;
        CARD8           color_ndx;
        CARD8           pad1;
-       CARD16          pad2 B16;
+       CARD16          pad2;
 } xkmTextDoodadDesc;
 #define        sz_xkmTextDoodadDesc    16
 
 typedef struct _xkmIndicatorDoodadDesc {
        CARD8           type;
        CARD8           priority;
-       INT16           top B16;
-       INT16           left B16;
+       INT16           top;
+       INT16           left;
        CARD8           shape_ndx;
        CARD8           on_color_ndx;
        CARD8           off_color_ndx;
        CARD8           pad1;
-       CARD16          pad2 B16;
-       CARD32          pad3 B32;
+       CARD16          pad2;
+       CARD32          pad3;
 } xkmIndicatorDoodadDesc;
 #define        sz_xkmIndicatorDoodadDesc       16
 
 typedef struct _xkmLogoDoodadDesc {
        CARD8           type;
        CARD8           priority;
-       INT16           top B16;
-       INT16           left B16;
-       INT16           angle B16;
+       INT16           top;
+       INT16           left;
+       INT16           angle;
        CARD8           color_ndx;
        CARD8           shape_ndx;
-       CARD16          pad B16;
-       CARD32          pad1 B32;
+       CARD16          pad;
+       CARD32          pad1;
 } xkmLogoDoodadDesc;
 #define        sz_xkmLogoDoodadDesc    16
 
 typedef struct _xkmAnyDoodadDesc {
        CARD8           type;
        CARD8           priority;
-       INT16           top B16;
-       INT16           left B16;
-       CARD16          pad1 B16;
-       CARD32          pad2 B32;
-       CARD32          pad3 B32;
+       INT16           top;
+       INT16           left;
+       CARD16          pad1;
+       CARD32          pad2;
+       CARD32          pad3;
 } xkmAnyDoodadDesc;
 #define        sz_xkmAnyDoodadDesc             16
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libxkbfile-1.0.9/src/xkbtext.c new/libxkbfile-1.1.0/src/xkbtext.c
--- old/libxkbfile-1.0.9/src/xkbtext.c  2015-05-01 07:24:42.000000000 +0200
+++ new/libxkbfile-1.1.0/src/xkbtext.c  2019-03-16 19:35:59.000000000 +0100
@@ -758,9 +758,17 @@
     }
     else {
         whole = val / XkbGeomPtsPerMM;
-        frac = val % XkbGeomPtsPerMM;
-        if (frac != 0)
-            snprintf(buf, bufsize, "%d.%d", whole, frac);
+        frac = abs(val % XkbGeomPtsPerMM);
+        if (frac != 0) {
+            if (val < 0)
+            {
+                int wholeabs;
+                wholeabs = abs(whole);
+                snprintf(buf, bufsize, "-%d.%d", wholeabs, frac);
+            }
+            else
+                snprintf(buf, bufsize, "%d.%d", whole, frac);
+        }
         else
             snprintf(buf, bufsize, "%d", whole);
     }
@@ -886,8 +894,22 @@
     }
     else
         TryCopyStr(buf, "none", sz);
-    if (act->type == XkbSA_LockMods)
+    if (act->type == XkbSA_LockMods) {
+        switch (act->flags & (XkbSA_LockNoUnlock | XkbSA_LockNoLock)) {
+        case XkbSA_LockNoLock:
+            TryCopyStr(buf, ",affect=unlock", sz);
+            break;
+        case XkbSA_LockNoUnlock:
+            TryCopyStr(buf, ",affect=lock", sz);
+            break;
+        case XkbSA_LockNoUnlock|XkbSA_LockNoLock:
+            TryCopyStr(buf, ",affect=neither", sz);
+            break;
+        default:
+            break;
+        }
         return True;
+    }
     if (act->flags & XkbSA_ClearLocks)
         TryCopyStr(buf, ",clearLocks", sz);
     if (act->flags & XkbSA_LatchToLock)
@@ -906,11 +928,11 @@
     act = &action->group;
     TryCopyStr(buf, "group=", sz);
     if (act->flags & XkbSA_GroupAbsolute)
-        snprintf(tbuf, sizeof(buf), "%d", XkbSAGroup(act) + 1);
+        snprintf(tbuf, sizeof(tbuf), "%d", XkbSAGroup(act) + 1);
     else if (XkbSAGroup(act) < 0)
-        snprintf(tbuf, sizeof(buf), "%d", XkbSAGroup(act));
+        snprintf(tbuf, sizeof(tbuf), "%d", XkbSAGroup(act));
     else
-        snprintf(tbuf, sizeof(buf), "+%d", XkbSAGroup(act));
+        snprintf(tbuf, sizeof(tbuf), "+%d", XkbSAGroup(act));
     TryCopyStr(buf, tbuf, sz);
     if (act->type == XkbSA_LockGroup)
         return True;
@@ -1049,8 +1071,12 @@
             TryCopyStr(buf, "none", sz);
     }
     TryCopyStr(buf, ",affect=", sz);
-    if ((act->affect & XkbSA_ISOAffectMask) == 0)
+    if ((act->affect & XkbSA_ISOAffectMask) == 0) {
         TryCopyStr(buf, "all", sz);
+    }
+    else if ((act->affect & XkbSA_ISOAffectMask) == XkbSA_ISOAffectMask) {
+        TryCopyStr(buf, "none", sz);
+    }
     else {
         int nOut = 0;
 
@@ -1074,6 +1100,18 @@
             nOut++;
         }
     }
+    switch (act->flags & (XkbSA_LockNoUnlock | XkbSA_LockNoLock)) {
+    case XkbSA_LockNoLock:
+        TryCopyStr(buf, "+unlock", sz);
+        break;
+    case XkbSA_LockNoUnlock:
+        TryCopyStr(buf, "+lock", sz);
+        break;
+    case XkbSA_LockNoUnlock | XkbSA_LockNoLock:
+        TryCopyStr(buf, "+neither", sz);
+        break;
+    default: ;
+    }
     return True;
 }
 
@@ -1183,6 +1221,20 @@
             nOut++;
         }
     }
+    if (action->type == XkbSA_LockControls) {
+        switch (act->flags & (XkbSA_LockNoUnlock | XkbSA_LockNoLock)) {
+        case XkbSA_LockNoLock:
+            TryCopyStr(buf, ",affect=unlock", sz);
+            break;
+        case XkbSA_LockNoUnlock:
+            TryCopyStr(buf, ",affect=lock", sz);
+            break;
+        case XkbSA_LockNoUnlock | XkbSA_LockNoLock:
+            TryCopyStr(buf, ",affect=neither", sz);
+            break;
+        default: ;
+        }
+    }
     return True;
 }
 
@@ -1218,6 +1270,8 @@
     TryCopyStr(buf, tbuf, sz);
     snprintf(tbuf, sizeof(tbuf), ",data[5]=0x%02x", act->message[5]);
     TryCopyStr(buf, tbuf, sz);
+    if (act->flags & XkbSA_MessageGenKeyEvent)
+        TryCopyStr(buf, ",genKeyEvent", sz);
     return True;
 }
 


Reply via email to