Move KcCGST API to internal-only
And don't export it. We don't need it for X11 support, let alone anything else. Signed-off-by: Daniel Stone <daniel@fooishbar.org>master
parent
2761b1a332
commit
46441b1184
|
@ -116,19 +116,6 @@ struct xkb_rule_names {
|
|||
const char *options;
|
||||
};
|
||||
|
||||
/**
|
||||
* Legacy names for the components of an XKB keymap, also known as KcCGST.
|
||||
* This is only used in deprecated entrypoints which might be removed or
|
||||
* shuffled off to a support library.
|
||||
*/
|
||||
struct xkb_component_names {
|
||||
char *keymap;
|
||||
char *keycodes;
|
||||
char *types;
|
||||
char *compat;
|
||||
char *symbols;
|
||||
};
|
||||
|
||||
/**
|
||||
* Opaque context object; may only be created, accessed, manipulated and
|
||||
* destroyed through the xkb_ctx_*() API.
|
||||
|
@ -151,24 +138,6 @@ struct xkb_state;
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Canonicalises component names by prepending the relevant component from
|
||||
* 'old' to the one in 'names' when the latter has a leading '+' or '|', and
|
||||
* by replacing a '%' with the relevant component, e.g.:
|
||||
*
|
||||
* names old output
|
||||
* ------------------------------------------
|
||||
* +bar foo foo+bar
|
||||
* |quux baz baz|quux
|
||||
* foo+%|baz bar foo+bar|baz
|
||||
*
|
||||
* If a component in names needs to be modified, the existing value will be
|
||||
* free()d, and a new one allocated with malloc().
|
||||
*/
|
||||
void
|
||||
xkb_canonicalise_components(struct xkb_component_names *names,
|
||||
const struct xkb_component_names *old);
|
||||
|
||||
/*
|
||||
* Returns the name for a keysym as a string; will return unknown Unicode
|
||||
* codepoints as "Ua1b2", and other unknown keysyms as "0xabcd1234".
|
||||
|
@ -284,21 +253,6 @@ xkb_map_new_from_names(struct xkb_ctx *ctx,
|
|||
const struct xkb_rule_names *names,
|
||||
enum xkb_map_compile_flags flags);
|
||||
|
||||
/**
|
||||
* Deprecated entrypoint for legacy users who need to be able to compile
|
||||
* XKB keymaps by KcCGST (Keycodes + Compat + Geometry + Symbols + Types)
|
||||
* names.
|
||||
*
|
||||
* You should not use this unless you are the X server. This entrypoint
|
||||
* may well disappear in future releases. Please, please, don't use it.
|
||||
*
|
||||
* Geometry will be ignored since xkbcommon does not support it in any way.
|
||||
*/
|
||||
struct xkb_keymap *
|
||||
xkb_map_new_from_kccgst(struct xkb_ctx *ctx,
|
||||
const struct xkb_component_names *kccgst,
|
||||
enum xkb_map_compile_flags flags);
|
||||
|
||||
enum xkb_keymap_format {
|
||||
/** The current/classic XKB text format, as generated by xkbcomp -xkb. */
|
||||
XKB_KEYMAP_FORMAT_TEXT_V1 = 1,
|
||||
|
|
|
@ -108,6 +108,17 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|||
#define XkmKeymapOptional ((XkmTypesMask|XkmGeometryMask)&(~XkmKeymapRequired))
|
||||
#define XkmKeymapLegal (XkmKeymapRequired|XkmKeymapOptional)
|
||||
|
||||
/**
|
||||
* Legacy names for the components of an XKB keymap, also known as KcCGST.
|
||||
*/
|
||||
struct xkb_component_names {
|
||||
char *keymap;
|
||||
char *keycodes;
|
||||
char *types;
|
||||
char *compat;
|
||||
char *symbols;
|
||||
};
|
||||
|
||||
struct xkb_any_action {
|
||||
uint8_t type;
|
||||
uint8_t data[7];
|
||||
|
@ -443,6 +454,39 @@ xkb_key_get_syms_by_level(struct xkb_keymap *keymap, xkb_keycode_t key,
|
|||
unsigned int group, unsigned int level,
|
||||
const xkb_keysym_t **syms_out);
|
||||
|
||||
/*
|
||||
* Canonicalises component names by prepending the relevant component from
|
||||
* 'old' to the one in 'names' when the latter has a leading '+' or '|', and
|
||||
* by replacing a '%' with the relevant component, e.g.:
|
||||
*
|
||||
* names old output
|
||||
* ------------------------------------------
|
||||
* +bar foo foo+bar
|
||||
* |quux baz baz|quux
|
||||
* foo+%|baz bar foo+bar|baz
|
||||
*
|
||||
* If a component in names needs to be modified, the existing value will be
|
||||
* free()d, and a new one allocated with malloc().
|
||||
*/
|
||||
void
|
||||
xkb_canonicalise_components(struct xkb_component_names *names,
|
||||
const struct xkb_component_names *old);
|
||||
|
||||
/**
|
||||
* Deprecated entrypoint for legacy users who need to be able to compile
|
||||
* XKB keymaps by KcCGST (Keycodes + Compat + Geometry + Symbols + Types)
|
||||
* names.
|
||||
*
|
||||
* You should not use this unless you are the X server. This entrypoint
|
||||
* may well disappear in future releases. Please, please, don't use it.
|
||||
*
|
||||
* Geometry will be ignored since xkbcommon does not support it in any way.
|
||||
*/
|
||||
struct xkb_keymap *
|
||||
xkb_map_new_from_kccgst(struct xkb_ctx *ctx,
|
||||
const struct xkb_component_names *kccgst,
|
||||
enum xkb_map_compile_flags flags);
|
||||
|
||||
extern int
|
||||
xkb_ctx_take_file_id(struct xkb_ctx *ctx);
|
||||
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
#include <stdlib.h>
|
||||
|
||||
#include "xkbcommon/xkbcommon.h"
|
||||
#include "xkb-priv.h"
|
||||
|
||||
struct test_data {
|
||||
struct xkb_component_names new;
|
||||
|
|
|
@ -29,6 +29,7 @@ authorization from the authors.
|
|||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "xkb-priv.h"
|
||||
#include "xkbcommon/xkbcommon.h"
|
||||
|
||||
static int
|
||||
|
|
Loading…
Reference in New Issue