xserver: Branch 'master' - 5 commits

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Feb 6 22:52:34 UTC 2025


 hw/xfree86/sdksyms.sh |    1 
 include/meson.build   |    1 
 include/xkbfile.h     |  154 --------------------------------------------------
 include/xkbsrv.h      |    2 
 test/test_xkb.c       |    1 
 xkb/XKBMisc.c         |    5 +
 xkb/ddxLoad.c         |    2 
 xkb/xkb.c             |   40 ++++++++++++
 xkb/xkbInit.c         |    1 
 xkb/xkbfile_priv.h    |   45 ++++++++++++++
 xkb/xkbfmisc.c        |   45 +-------------
 xkb/xkbfmisc_priv.h   |   79 +++++++++++++++++++++++++
 xkb/xkbout.c          |    3 
 xkb/xkbout_priv.h     |   32 ++++++++++
 xkb/xkmread.c         |    6 +
 15 files changed, 213 insertions(+), 204 deletions(-)

New commits:
commit f8fc46cbbfa3253d24d65fc2d129f8b4b5fd76aa
Author: Enrico Weigelt, metux IT consult <info at metux.net>
Date:   Fri Apr 5 17:09:31 2024 +0200

    include: drop now empty xkbfile.h
    
    This (public) file isn't used by anybody outside Xserver tree
    and doesn't contain anything useful anymore, so lets drop it.
    
    Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>
    Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1729>

diff --git a/hw/xfree86/sdksyms.sh b/hw/xfree86/sdksyms.sh
index 982987472..f2862b074 100755
--- a/hw/xfree86/sdksyms.sh
+++ b/hw/xfree86/sdksyms.sh
@@ -270,7 +270,6 @@ cat > sdksyms.c << EOF
 #include "window.h"
 #include "windowstr.h"
 #include "xace.h"
-#include "xkbfile.h"
 #include "xkbsrv.h"
 #include "xkbstr.h"
 #include "xkbrules.h"
diff --git a/include/meson.build b/include/meson.build
index ac2366519..d4ea7fe44 100644
--- a/include/meson.build
+++ b/include/meson.build
@@ -498,7 +498,6 @@ if build_xorg
             'displaymode.h',
             'window.h',
             'windowstr.h',
-            'xkbfile.h',
             'xkbsrv.h',
             'xkbstr.h',
             'xkbrules.h',
diff --git a/include/xkbfile.h b/include/xkbfile.h
deleted file mode 100644
index 9bc25cd94..000000000
--- a/include/xkbfile.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/************************************************************
- Copyright (c) 1994 by Silicon Graphics Computer Systems, Inc.
-
- Permission to use, copy, modify, and distribute this
- software and its documentation for any purpose and without
- fee is hereby granted, provided that the above copyright
- notice appear in all copies and that both that copyright
- notice and this permission notice appear in supporting
- documentation, and that the name of Silicon Graphics not be
- used in advertising or publicity pertaining to distribution
- of the software without specific prior written permission.
- Silicon Graphics makes no representation about the suitability
- of this software for any purpose. It is provided "as is"
- without any express or implied warranty.
-
- SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
- GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
- DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION  WITH
- THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
- ********************************************************/
-
-#ifndef _XKBFILE_H_
-#define	_XKBFILE_H_ 1
-
-#include "xkbstr.h"
-
-#endif                          /* _XKBFILE_H_ */
diff --git a/include/xkbsrv.h b/include/xkbsrv.h
index 2f291886b..ab3a40743 100644
--- a/include/xkbsrv.h
+++ b/include/xkbsrv.h
@@ -818,7 +818,7 @@ extern _X_EXPORT Bool XkbDeviceApplyKeymap(DeviceIntPtr /* dst */ ,
 extern _X_EXPORT void XkbCopyControls(XkbDescPtr /* dst */ ,
                                       XkbDescPtr /* src */ );
 
-#include "xkbfile.h"
+#include "xkbstr.h"
 #include "xkbrules.h"
 
 extern _X_EXPORT unsigned int XkbDDXLoadKeymapByNames(DeviceIntPtr /* keybd */ ,
diff --git a/test/test_xkb.c b/test/test_xkb.c
index 2fd9d1f36..11a0f4ce8 100644
--- a/test/test_xkb.c
+++ b/test/test_xkb.c
@@ -44,7 +44,6 @@
 #include <xkbsrv.h>
 #include "../xkb/xkbgeom.h"
 #include <X11/extensions/XKMformat.h>
-#include "xkbfile.h"
 #include <assert.h>
 
 #include "tests-common.h"
diff --git a/xkb/xkbInit.c b/xkb/xkbInit.c
index 2819935eb..edd4de4b5 100644
--- a/xkb/xkbInit.c
+++ b/xkb/xkbInit.c
@@ -48,7 +48,6 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
 #include "property.h"
 #include "scrnintstr.h"
 #include "xkbgeom.h"
-#include "xkbfile.h"
 
 #define	CREATE_ATOM(s)	MakeAtom(s,sizeof(s)-1,1)
 
diff --git a/xkb/xkbout.c b/xkb/xkbout.c
index e1b97a56f..a8b2f1523 100644
--- a/xkb/xkbout.c
+++ b/xkb/xkbout.c
@@ -46,7 +46,6 @@
 #include <xkbsrv.h>
 
 #include "xkbgeom.h"
-#include "xkbfile.h"
 
 #define	VMOD_HIDE_VALUE	0
 #define	VMOD_SHOW_VALUE	1
commit 3f8a5475c917326c780f87e3f2dff11cd7d17d0f
Author: Enrico Weigelt, metux IT consult <info at metux.net>
Date:   Fri Apr 5 16:46:59 2024 +0200

    xkb: unexport remaining internal declarations
    
    These are only used inside xkb/*, so no need to keep them exported.
    
    Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>
    Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1729>

diff --git a/include/xkbfile.h b/include/xkbfile.h
index 172d0c1f7..9bc25cd94 100644
--- a/include/xkbfile.h
+++ b/include/xkbfile.h
@@ -29,53 +29,4 @@
 
 #include "xkbstr.h"
 
-typedef void (*XkbFileAddOnFunc) (FILE * /* file */ ,
-                                  XkbDescPtr /* result */ ,
-                                  Bool /* topLevel */ ,
-                                  Bool /* showImplicit */ ,
-                                  int /* fileSection */ ,
-                                  void *        /* priv */
-    );
-
-/***====================================================================***/
-
-#define	_XkbSuccess			0	/* unused */
-#define	_XkbErrMissingNames		1
-#define	_XkbErrMissingTypes		2
-#define	_XkbErrMissingReqTypes		3
-#define	_XkbErrMissingSymbols		4
-#define	_XkbErrMissingVMods		5	/* unused */
-#define	_XkbErrMissingIndicators	6	/* unused */
-#define	_XkbErrMissingCompatMap		7
-#define	_XkbErrMissingSymInterps	8	/* unused */
-#define	_XkbErrMissingGeometry		9
-#define	_XkbErrIllegalDoodad		10	/* unused */
-#define	_XkbErrIllegalTOCType		11	/* unused */
-#define	_XkbErrIllegalContents		12
-#define	_XkbErrEmptyFile		13	/* unused */
-#define	_XkbErrFileNotFound		14	/* unused */
-#define	_XkbErrFileCannotOpen		15	/* unused */
-#define	_XkbErrBadValue			16
-#define	_XkbErrBadMatch			17
-#define	_XkbErrBadTypeName		18
-#define	_XkbErrBadTypeWidth		19
-#define	_XkbErrBadFileType		20
-#define	_XkbErrBadFileVersion		21
-#define	_XkbErrBadFileFormat		22	/* unused */
-#define	_XkbErrBadAlloc			23
-#define	_XkbErrBadLength		24
-#define	_XkbErrXReqFailure		25	/* unused */
-#define	_XkbErrBadImplementation	26
-
-/***====================================================================***/
-
-_XFUNCPROTOBEGIN
-
-extern _X_EXPORT unsigned XkmReadFile(FILE * /* file */ ,
-                                      unsigned /* need */ ,
-                                      unsigned /* want */ ,
-                                      XkbDescPtr *      /* result */
-    );
-
-_XFUNCPROTOEND
 #endif                          /* _XKBFILE_H_ */
diff --git a/xkb/ddxLoad.c b/xkb/ddxLoad.c
index 4446af8dc..a9a7ead59 100644
--- a/xkb/ddxLoad.c
+++ b/xkb/ddxLoad.c
@@ -40,6 +40,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
 #include "dix/dix_priv.h"
 #include "os/osdep.h"
+#include "xkb/xkbfile_priv.h"
 #include "xkb/xkbfmisc_priv.h"
 
 #include "inputstr.h"
diff --git a/xkb/xkbfile_priv.h b/xkb/xkbfile_priv.h
new file mode 100644
index 000000000..3a37b9d49
--- /dev/null
+++ b/xkb/xkbfile_priv.h
@@ -0,0 +1,45 @@
+/* SPDX-License-Identifier: MIT OR X11
+ *
+ * Copyright © 2024 Enrico Weigelt, metux IT consult <info at metux.net>
+ * Copyright © 1994 by Silicon Graphics Computer Systems, Inc.
+ */
+#ifndef _XSERVER_XKB_XKBFILE_PRIV_H
+#define _XSERVER_XKB_XKBFILE_PRIV_H
+
+#include <stdio.h>
+#include <X11/X.h>
+#include <X11/Xdefs.h>
+
+#include "xkbstr.h"
+
+/* XKB error codes */
+#define _XkbErrMissingNames		1
+#define _XkbErrMissingTypes		2
+#define _XkbErrMissingReqTypes		3
+#define _XkbErrMissingSymbols		4
+#define _XkbErrMissingCompatMap		7
+#define _XkbErrMissingGeometry		9
+#define _XkbErrIllegalContents		12
+#define _XkbErrBadValue			16
+#define _XkbErrBadMatch			17
+#define _XkbErrBadTypeName		18
+#define _XkbErrBadTypeWidth		19
+#define _XkbErrBadFileType		20
+#define _XkbErrBadFileVersion		21
+#define _XkbErrBadAlloc			23
+#define _XkbErrBadLength		24
+#define _XkbErrBadImplementation	26
+
+/*
+ * read xkm file
+ *
+ * @param file the FILE to read from
+ * @param need mask of needed elements (fails if some are missing)
+ * @param want mask of wanted elements
+ * @param result pointer to xkb descriptor to load the data into
+ * @return mask of elements missing (from need | want)
+ */
+unsigned XkmReadFile(FILE *file, unsigned need, unsigned want,
+                     XkbDescPtr *result);
+
+#endif /* _XSERVER_XKB_XKBFILE_PRIV_H */
diff --git a/xkb/xkmread.c b/xkb/xkmread.c
index b40f8fc64..cdcb443ba 100644
--- a/xkb/xkmread.c
+++ b/xkb/xkmread.c
@@ -34,6 +34,7 @@
 #include <X11/keysym.h>
 #include <X11/extensions/XKMformat.h>
 
+#include "xkb/xkbfile_priv.h"
 #include "xkb/xkbfmisc_priv.h"
 
 #include "misc.h"
commit 660657a2c3a28d92d5671b44bc20de49ceacf971
Author: Enrico Weigelt, metux IT consult <info at metux.net>
Date:   Fri Apr 5 16:33:44 2024 +0200

    xkb: unexport functions from xkbout.c
    
    These are only used inside xkb/*, so no need to keep them exported.
    
    Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>
    Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1729>

diff --git a/include/xkbfile.h b/include/xkbfile.h
index 317f15937..172d0c1f7 100644
--- a/include/xkbfile.h
+++ b/include/xkbfile.h
@@ -71,48 +71,6 @@ typedef void (*XkbFileAddOnFunc) (FILE * /* file */ ,
 
 _XFUNCPROTOBEGIN
 
-extern _X_EXPORT Bool XkbWriteXKBKeycodes(FILE * /* file */ ,
-                                          XkbDescPtr /* result */ ,
-                                          Bool /* topLevel */ ,
-                                          Bool /* showImplicit */ ,
-                                          XkbFileAddOnFunc /* addOn */ ,
-                                          void *        /* priv */
-    );
-
-extern _X_EXPORT Bool XkbWriteXKBKeyTypes(FILE * /* file */ ,
-                                          XkbDescPtr /* result */ ,
-                                          Bool /* topLevel */ ,
-                                          Bool /* showImplicit */ ,
-                                          XkbFileAddOnFunc /* addOn */ ,
-                                          void *        /* priv */
-    );
-
-extern _X_EXPORT Bool XkbWriteXKBCompatMap(FILE * /* file */ ,
-                                           XkbDescPtr /* result */ ,
-                                           Bool /* topLevel */ ,
-                                           Bool /* showImplicit */ ,
-                                           XkbFileAddOnFunc /* addOn */ ,
-                                           void *       /* priv */
-    );
-
-extern _X_EXPORT Bool XkbWriteXKBSymbols(FILE * /* file */ ,
-                                         XkbDescPtr /* result */ ,
-                                         Bool /* topLevel */ ,
-                                         Bool /* showImplicit */ ,
-                                         XkbFileAddOnFunc /* addOn */ ,
-                                         void * /* priv */
-    );
-
-extern _X_EXPORT Bool XkbWriteXKBGeometry(FILE * /* file */ ,
-                                          XkbDescPtr /* result */ ,
-                                          Bool /* topLevel */ ,
-                                          Bool /* showImplicit */ ,
-                                          XkbFileAddOnFunc /* addOn */ ,
-                                          void *        /* priv */
-    );
-
-/***====================================================================***/
-
 extern _X_EXPORT unsigned XkmReadFile(FILE * /* file */ ,
                                       unsigned /* need */ ,
                                       unsigned /* want */ ,
diff --git a/xkb/xkbfmisc.c b/xkb/xkbfmisc.c
index c09c11b1a..2ec3b85ed 100644
--- a/xkb/xkbfmisc.c
+++ b/xkb/xkbfmisc.c
@@ -37,6 +37,7 @@
 #include <X11/Xproto.h>
 
 #include "xkb/xkbfmisc_priv.h"
+#include "xkb/xkbout_priv.h"
 
 #include "misc.h"
 #include "inputstr.h"
diff --git a/xkb/xkbout.c b/xkb/xkbout.c
index 1fd45e7af..e1b97a56f 100644
--- a/xkb/xkbout.c
+++ b/xkb/xkbout.c
@@ -36,6 +36,7 @@
 #include <X11/extensions/XKMformat.h>
 
 #include "xkb/xkbfmisc_priv.h"
+#include "xkb/xkbout_priv.h"
 #include "xkb/xkbtext_priv.h"
 
 #include "misc.h"
diff --git a/xkb/xkbout_priv.h b/xkb/xkbout_priv.h
new file mode 100644
index 000000000..790a009ec
--- /dev/null
+++ b/xkb/xkbout_priv.h
@@ -0,0 +1,32 @@
+/* SPDX-License-Identifier: MIT OR X11
+ *
+ * Copyright © 2024 Enrico Weigelt, metux IT consult <info at metux.net>
+ */
+#ifndef _XSERVER_XKB_XKBFOUT_PRIV_H
+#define _XSERVER_XKB_XKBFOUT_PRIV_H
+
+#include <stdio.h>
+#include <X11/X.h>
+#include <X11/Xdefs.h>
+
+#include "xkbstr.h"
+
+typedef void (*XkbFileAddOnFunc) (FILE *file,
+                                  XkbDescPtr result,
+                                  Bool topLevel,
+                                  Bool showImplicit,
+                                  int fileSection,
+                                  void *priv);
+
+Bool XkbWriteXKBKeyTypes(FILE *file, XkbDescPtr result, Bool topLevel,
+                         Bool showImplicit, XkbFileAddOnFunc addOn, void *priv);
+Bool XkbWriteXKBKeycodes(FILE *file, XkbDescPtr result, Bool topLevel,
+                         Bool showImplicit, XkbFileAddOnFunc addOn, void *priv);
+Bool XkbWriteXKBCompatMap(FILE *file, XkbDescPtr result, Bool topLevel,
+                          Bool showImplicit, XkbFileAddOnFunc addOn, void *priv);
+Bool XkbWriteXKBSymbols(FILE *file, XkbDescPtr result, Bool topLevel,
+                        Bool showImplicit, XkbFileAddOnFunc addOn, void *priv);
+Bool XkbWriteXKBGeometry(FILE *file, XkbDescPtr result, Bool topLevel,
+                         Bool showImplicit, XkbFileAddOnFunc addOn, void *priv);
+
+#endif /* _XSERVER_XKB_XKBFOUT_PRIV_H */
commit 5d98664ec13803b6ddfd0d317c8cc57765706b8c
Author: Enrico Weigelt, metux IT consult <info at metux.net>
Date:   Fri Apr 5 16:14:12 2024 +0200

    xkb: unexport functions from xkbfmisc.c
    
    These are only used inside xkb/*, so no need to keep them exported.
    
    Also replacing some macros by inline functions in order to improve
    type-safety and debugging, and adding documentation.
    
    Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>
    Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1729>

diff --git a/include/xkbfile.h b/include/xkbfile.h
index 706f94018..317f15937 100644
--- a/include/xkbfile.h
+++ b/include/xkbfile.h
@@ -71,21 +71,6 @@ typedef void (*XkbFileAddOnFunc) (FILE * /* file */ ,
 
 _XFUNCPROTOBEGIN
 
-#define	_XkbKSLower	(1<<0)
-#define	_XkbKSUpper	(1<<1)
-
-#define	XkbKSIsLower(k)		(_XkbKSCheckCase(k)&_XkbKSLower)
-#define	XkbKSIsUpper(k)		(_XkbKSCheckCase(k)&_XkbKSUpper)
-#define XkbKSIsKeypad(k)	(((k)>=XK_KP_Space)&&((k)<=XK_KP_Equal))
-
-extern _X_EXPORT unsigned _XkbKSCheckCase(KeySym        /* sym */
-    );
-
-extern _X_EXPORT int XkbFindKeycodeByName(XkbDescPtr /* xkb */ ,
-                                          char * /* name */ ,
-                                          Bool  /* use_aliases */
-    );
-
 extern _X_EXPORT Bool XkbWriteXKBKeycodes(FILE * /* file */ ,
                                           XkbDescPtr /* result */ ,
                                           Bool /* topLevel */ ,
@@ -126,14 +111,6 @@ extern _X_EXPORT Bool XkbWriteXKBGeometry(FILE * /* file */ ,
                                           void *        /* priv */
     );
 
-extern _X_EXPORT Bool XkbWriteXKBKeymapForNames(FILE * /* file */ ,
-                                                XkbComponentNamesPtr /* names */
-                                                ,
-                                                XkbDescPtr /* xkb */ ,
-                                                unsigned /* want */ ,
-                                                unsigned        /* need */
-    );
-
 /***====================================================================***/
 
 extern _X_EXPORT unsigned XkmReadFile(FILE * /* file */ ,
diff --git a/xkb/XKBMisc.c b/xkb/XKBMisc.c
index cf582cffd..abbfed90e 100644
--- a/xkb/XKBMisc.c
+++ b/xkb/XKBMisc.c
@@ -29,9 +29,12 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
 #include <stdio.h>
 #include <X11/X.h>
 #include <X11/Xproto.h>
+#include <X11/keysym.h>
+
+#include "xkb/xkbfmisc_priv.h"
+
 #include "misc.h"
 #include "inputstr.h"
-#include <X11/keysym.h>
 #include <xkbsrv.h>
 
 /***====================================================================***/
diff --git a/xkb/ddxLoad.c b/xkb/ddxLoad.c
index 379a555b4..4446af8dc 100644
--- a/xkb/ddxLoad.c
+++ b/xkb/ddxLoad.c
@@ -40,6 +40,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
 #include "dix/dix_priv.h"
 #include "os/osdep.h"
+#include "xkb/xkbfmisc_priv.h"
 
 #include "inputstr.h"
 #include "scrnintstr.h"
diff --git a/xkb/xkb.c b/xkb/xkb.c
index f553ef739..85659382d 100644
--- a/xkb/xkb.c
+++ b/xkb/xkb.c
@@ -34,6 +34,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
 #include "dix/dix_priv.h"
 #include "os/osdep.h"
+#include "xkb/xkbfmisc_priv.h"
 
 #include "misc.h"
 #include "inputstr.h"
diff --git a/xkb/xkbfmisc.c b/xkb/xkbfmisc.c
index a2063e40f..c09c11b1a 100644
--- a/xkb/xkbfmisc.c
+++ b/xkb/xkbfmisc.c
@@ -29,14 +29,15 @@
 #include <stdio.h>
 #include <ctype.h>
 #include <stdlib.h>
-
 #include <X11/Xos.h>
 #include <X11/Xfuncs.h>
 #include <X11/extensions/XKMformat.h>
-
 #include <X11/X.h>
 #include <X11/keysym.h>
 #include <X11/Xproto.h>
+
+#include "xkb/xkbfmisc_priv.h"
+
 #include "misc.h"
 #include "inputstr.h"
 #include "dix.h"
diff --git a/xkb/xkbfmisc_priv.h b/xkb/xkbfmisc_priv.h
new file mode 100644
index 000000000..b08947b91
--- /dev/null
+++ b/xkb/xkbfmisc_priv.h
@@ -0,0 +1,79 @@
+/* SPDX-License-Identifier: MIT OR X11
+ *
+ * Copyright © 2024 Enrico Weigelt, metux IT consult <info at metux.net>
+ */
+#ifndef _XSERVER_XKB_XKBFMISC_PRIV_H
+#define _XSERVER_XKB_XKBFMISC_PRIV_H
+
+/* needed for X11/keysymdef.h to define all symdefs */
+#define XK_MISCELLANY
+
+#include <stdio.h>
+#include <X11/X.h>
+#include <X11/Xdefs.h>
+#include <X11/keysymdef.h>
+
+#include "xkbstr.h"
+
+/*
+ * return mask bits for _XkbKSCheckCase()
+ */
+#define _XkbKSLower     (1<<0)
+#define _XkbKSUpper     (1<<1)
+
+/*
+ * check whether given KeySym is a upper or lower case key
+ *
+ * @param sym the KeySym to check
+ * @return mask of _XkbKS* flags
+ */
+unsigned int _XkbKSCheckCase(KeySym sym);
+
+/*
+ * check whether given KeySym is an lower case key
+ *
+ * @param k the KeySym to check
+ * @return TRUE if k is a lower case key
+ */
+static inline Bool XkbKSIsLower(KeySym k) { return _XkbKSCheckCase(k)&_XkbKSLower; }
+
+/*
+ * check whether given KeySym is an upper case key
+ *
+ * @param k the KeySym to check
+ * @return TRUE if k is a upper case key
+ */
+static inline Bool XkbKSIsUpper(KeySym k) { return _XkbKSCheckCase(k)&_XkbKSUpper; }
+
+/*
+ * check whether given KeySym is an keypad key
+ *
+ * @param k the KeySym to check
+ * @return TRUE if k is a keypad key
+ */
+static inline Bool XkbKSIsKeypad(KeySym k) { return (((k)>=XK_KP_Space)&&((k)<=XK_KP_Equal)); }
+
+/*
+ * find a keycode by its name
+ *
+ * @param xkb pointer to xkb descriptor
+ * @param name the key name
+ * @param use_aliases TRUE if aliases should be resolved
+ * @return keycode ID
+ */
+int XkbFindKeycodeByName(XkbDescPtr xkb, char *name, Bool use_aliases);
+
+/*
+ * write keymap for given component names
+ *
+ * @param file the FILE to write to
+ * @param names pointer to list of keymap component names to write out
+ * @param xkb pointer to xkb descriptor
+ * @param want bitmask of wanted elements
+ * @param need bitmask of needed elements
+ * @return TRUE if succeeded
+*/
+Bool XkbWriteXKBKeymapForNames(FILE *file, XkbComponentNamesPtr names,
+                               XkbDescPtr xkb, unsigned want, unsigned need);
+
+#endif /* _XSERVER_XKB_XKBFMISC_PRIV_H */
diff --git a/xkb/xkbout.c b/xkb/xkbout.c
index 98130fc32..1fd45e7af 100644
--- a/xkb/xkbout.c
+++ b/xkb/xkbout.c
@@ -35,6 +35,7 @@
 #include <X11/Xproto.h>
 #include <X11/extensions/XKMformat.h>
 
+#include "xkb/xkbfmisc_priv.h"
 #include "xkb/xkbtext_priv.h"
 
 #include "misc.h"
diff --git a/xkb/xkmread.c b/xkb/xkmread.c
index 45da55660..b40f8fc64 100644
--- a/xkb/xkmread.c
+++ b/xkb/xkmread.c
@@ -27,14 +27,15 @@
 #include <dix-config.h>
 
 #include <stdio.h>
-
 #include <X11/Xos.h>
 #include <X11/Xfuncs.h>
-
 #include <X11/X.h>
 #include <X11/Xproto.h>
 #include <X11/keysym.h>
 #include <X11/extensions/XKMformat.h>
+
+#include "xkb/xkbfmisc_priv.h"
+
 #include "misc.h"
 #include "inputstr.h"
 #include "xkbstr.h"
commit 114c1c84b1b1dae2d74f7a719e8e682920cc1557
Author: Enrico Weigelt, metux IT consult <info at metux.net>
Date:   Fri Oct 18 12:45:55 2024 +0200

    xkb: move XkbConvertGetByNameComponents and make it static
    
    This function has only one caller in xkb.c, so no need to keep it exported,
    can be moved over into xkb.c and made static.
    
    Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>
    Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1729>

diff --git a/include/xkbfile.h b/include/xkbfile.h
index df2221313..706f94018 100644
--- a/include/xkbfile.h
+++ b/include/xkbfile.h
@@ -86,14 +86,6 @@ extern _X_EXPORT int XkbFindKeycodeByName(XkbDescPtr /* xkb */ ,
                                           Bool  /* use_aliases */
     );
 
-/***====================================================================***/
-
-extern _X_EXPORT unsigned XkbConvertGetByNameComponents(Bool /* toXkm */ ,
-                                                        unsigned        /* orig */
-    );
-
-/***====================================================================***/
-
 extern _X_EXPORT Bool XkbWriteXKBKeycodes(FILE * /* file */ ,
                                           XkbDescPtr /* result */ ,
                                           Bool /* topLevel */ ,
diff --git a/xkb/xkb.c b/xkb/xkb.c
index 9ede6f969..f553ef739 100644
--- a/xkb/xkb.c
+++ b/xkb/xkb.c
@@ -5906,6 +5906,45 @@ ProcXkbListComponents(ClientPtr client)
     return Success;
 }
 
+static unsigned
+XkbConvertGetByNameComponents(Bool toXkm, unsigned orig)
+{
+    unsigned rtrn;
+
+    rtrn = 0;
+    if (toXkm) {
+        if (orig & XkbGBN_TypesMask)
+            rtrn |= XkmTypesMask;
+        if (orig & XkbGBN_CompatMapMask)
+            rtrn |= XkmCompatMapMask;
+        if (orig & XkbGBN_SymbolsMask)
+            rtrn |= XkmSymbolsMask;
+        if (orig & XkbGBN_IndicatorMapMask)
+            rtrn |= XkmIndicatorsMask;
+        if (orig & XkbGBN_KeyNamesMask)
+            rtrn |= XkmKeyNamesMask;
+        if (orig & XkbGBN_GeometryMask)
+            rtrn |= XkmGeometryMask;
+    }
+    else {
+        if (orig & XkmTypesMask)
+            rtrn |= XkbGBN_TypesMask;
+        if (orig & XkmCompatMapMask)
+            rtrn |= XkbGBN_CompatMapMask;
+        if (orig & XkmSymbolsMask)
+            rtrn |= XkbGBN_SymbolsMask;
+        if (orig & XkmIndicatorsMask)
+            rtrn |= XkbGBN_IndicatorMapMask;
+        if (orig & XkmKeyNamesMask)
+            rtrn |= XkbGBN_KeyNamesMask;
+        if (orig & XkmGeometryMask)
+            rtrn |= XkbGBN_GeometryMask;
+        if (orig != 0)
+            rtrn |= XkbGBN_OtherNamesMask;
+    }
+    return rtrn;
+}
+
 /***====================================================================***/
 int
 ProcXkbGetKbdByName(ClientPtr client)
diff --git a/xkb/xkbfmisc.c b/xkb/xkbfmisc.c
index 146e36683..a2063e40f 100644
--- a/xkb/xkbfmisc.c
+++ b/xkb/xkbfmisc.c
@@ -390,42 +390,3 @@ XkbFindKeycodeByName(XkbDescPtr xkb, char *name, Bool use_aliases)
     }
     return 0;
 }
-
-unsigned
-XkbConvertGetByNameComponents(Bool toXkm, unsigned orig)
-{
-    unsigned rtrn;
-
-    rtrn = 0;
-    if (toXkm) {
-        if (orig & XkbGBN_TypesMask)
-            rtrn |= XkmTypesMask;
-        if (orig & XkbGBN_CompatMapMask)
-            rtrn |= XkmCompatMapMask;
-        if (orig & XkbGBN_SymbolsMask)
-            rtrn |= XkmSymbolsMask;
-        if (orig & XkbGBN_IndicatorMapMask)
-            rtrn |= XkmIndicatorsMask;
-        if (orig & XkbGBN_KeyNamesMask)
-            rtrn |= XkmKeyNamesMask;
-        if (orig & XkbGBN_GeometryMask)
-            rtrn |= XkmGeometryMask;
-    }
-    else {
-        if (orig & XkmTypesMask)
-            rtrn |= XkbGBN_TypesMask;
-        if (orig & XkmCompatMapMask)
-            rtrn |= XkbGBN_CompatMapMask;
-        if (orig & XkmSymbolsMask)
-            rtrn |= XkbGBN_SymbolsMask;
-        if (orig & XkmIndicatorsMask)
-            rtrn |= XkbGBN_IndicatorMapMask;
-        if (orig & XkmKeyNamesMask)
-            rtrn |= XkbGBN_KeyNamesMask;
-        if (orig & XkmGeometryMask)
-            rtrn |= XkbGBN_GeometryMask;
-        if (orig != 0)
-            rtrn |= XkbGBN_OtherNamesMask;
-    }
-    return rtrn;
-}


More information about the xorg-commit mailing list