diff -Nur kbd-2.4.0/src/loadkeys.c kbd-2.4.0-new/src/loadkeys.c
--- kbd-2.4.0/src/loadkeys.c	2020-06-02 18:16:45.000000000 +0800
+++ kbd-2.4.0-new/src/loadkeys.c	2021-12-07 16:02:44.873000000 +0800
@@ -27,9 +27,11 @@
 
 static const char *const dirpath1[] = {
 	"",
-	DATADIR "/" KEYMAPDIR "/**",
-	KERNDIR "/",
-	NULL
+    DATADIR "/" KEYMAPDIR "/**",
+    DATADIR "/" XKBKEYMAPDIR "/",
+    DATADIR "/" LEGACYKEYMAPDIR "/**",
+    KERNDIR "/",
+    0
 };
 static const char *const suffixes[] = {
 	"",
diff -Nur kbd-2.4.0/src/paths.h kbd-2.4.0-new/src/paths.h
--- kbd-2.4.0/src/paths.h	2020-04-27 23:53:01.000000000 +0800
+++ kbd-2.4.0-new/src/paths.h	2021-12-07 16:03:15.780000000 +0800
@@ -5,6 +5,8 @@
  * The following five subdirectories are defined:
  */
 #define KEYMAPDIR "keymaps"
+#define XKBKEYMAPDIR "keymaps/xkb"
+#define LEGACYKEYMAPDIR "keymaps/legacy"
 #define UNIMAPDIR "unimaps"
 #define TRANSDIR "consoletrans"
 #define VIDEOMODEDIR "videomodes"
