libxkbcommon: don't require 1.8.0

The version bump was done since we now use XKB_VMOD_NAME_*; macros
added in libxkbcommon 1.8.0.

Not all distros have updated libxkbcommon yet (read: Debian). Since
it's fairly easy to work around, let's do that.

Closes #2103
This commit is contained in:
Daniel Eklöf 2025-05-18 11:35:27 +02:00
parent 8bd39b32cd
commit 3e1e3ea38c
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
5 changed files with 24 additions and 0 deletions

View file

@ -105,8 +105,11 @@
instead of `10-bit`.
* Allow setting either selection background, or selection foreground,
only ([#1846][1846]).
* Drop required version of libxkbcommon from 1.8.0 back to 1.0.0
([#2103][2103]).
[1846]: https://codeberg.org/dnkl/foot/issues/1846
[2103]: https://codeberg.org/dnkl/foot/issues/2103
### Deprecated

View file

@ -40,6 +40,7 @@
#include "url-mode.h"
#include "util.h"
#include "vt.h"
#include "xkbcommon-vmod.h"
#include "xmalloc.h"
#include "xsnprintf.h"

View file

@ -11,6 +11,7 @@
#include "terminal.h"
#include "util.h"
#include "wayland.h"
#include "xkbcommon-vmod.h"
#include "xmalloc.h"
struct vmod_map {

View file

@ -319,6 +319,7 @@ executable(
'url-mode.c', 'url-mode.h',
'user-notification.c', 'user-notification.h',
'wayland.c', 'wayland.h', 'shm-formats.h',
'xkbcommon-vmod.h',
srgb_funcs, wl_proto_src + wl_proto_headers, version,
dependencies: [math, threads, libepoll, pixman, wayland_client, wayland_cursor, xkb, fontconfig, utf8proc,
tllist, fcft],

18
xkbcommon-vmod.h Normal file
View file

@ -0,0 +1,18 @@
#pragma once
#include <xkbcommon/xkbcommon-names.h>
/* Added in libxkbcommon 1.8.0 */
#if !defined(XKB_VMOD_NAME_ALT)
/* Common *virtual* modifiers, encoded in xkeyboard-config in the compat and
* symbols files. They have been stable since the beginning of the project and
* are unlikely to ever change. */
#define XKB_VMOD_NAME_ALT "Alt"
#define XKB_VMOD_NAME_HYPER "Hyper"
#define XKB_VMOD_NAME_LEVEL3 "LevelThree"
#define XKB_VMOD_NAME_LEVEL5 "LevelFive"
#define XKB_VMOD_NAME_META "Meta"
#define XKB_VMOD_NAME_NUM "NumLock"
#define XKB_VMOD_NAME_SCROLL "ScrollLock"
#define XKB_VMOD_NAME_SUPER "Super"
#endif