diff --git a/compositor/text-backend.c b/compositor/text-backend.c
index 4b2e854..664c36f 100644
--- a/compositor/text-backend.c
+++ b/compositor/text-backend.c
@@ -680,9 +680,7 @@
 
 	context->keyboard = cr;
 
-	wl_keyboard_send_keymap(cr, WL_KEYBOARD_KEYMAP_FORMAT_XKB_V1,
-				keyboard->xkb_info->keymap_fd,
-				keyboard->xkb_info->keymap_size);
+	weston_keyboard_send_keymap(keyboard, cr);
 
 	if (keyboard->grab != &keyboard->default_grab) {
 		weston_keyboard_end_grab(keyboard);
diff --git a/libweston/compositor.h b/libweston/compositor.h
index fd0ff7b..82592eb 100644
--- a/libweston/compositor.h
+++ b/libweston/compositor.h
@@ -2186,6 +2186,10 @@
 weston_seat_set_keyboard_focus(struct weston_seat *seat,
 			       struct weston_surface *surface);
 
+void
+weston_keyboard_send_keymap(struct weston_keyboard *kbd,
+			    struct wl_resource *resource);
+
 int
 weston_compositor_load_xwayland(struct weston_compositor *compositor);
 
diff --git a/libweston/input.c b/libweston/input.c
index 04c1141..ad1dfeb 100644
--- a/libweston/input.c
+++ b/libweston/input.c
@@ -2080,9 +2080,11 @@
 	notify_modifiers(seat, serial);
 }
 
-static void
-send_keymap(struct wl_resource *resource, struct weston_xkb_info *xkb_info)
+WL_EXPORT void
+weston_keyboard_send_keymap(struct weston_keyboard *kbd, struct wl_resource *resource)
 {
+	struct weston_xkb_info *xkb_info = kbd->xkb_info;
+
 	wl_keyboard_send_keymap(resource,
 				WL_KEYBOARD_KEYMAP_FORMAT_XKB_V1,
 				xkb_info->keymap_fd,
@@ -2146,9 +2148,9 @@
 	keyboard->xkb_state.state = state;
 
 	wl_resource_for_each(resource, &keyboard->resource_list)
-		send_keymap(resource, xkb_info);
+		weston_keyboard_send_keymap(keyboard, resource);
 	wl_resource_for_each(resource, &keyboard->focus_resource_list)
-		send_keymap(resource, xkb_info);
+		weston_keyboard_send_keymap(keyboard, resource);
 
 	notify_modifiers(seat, wl_display_next_serial(seat->compositor->wl_display));
 
@@ -2890,9 +2892,7 @@
 					     seat->compositor->kb_repeat_delay);
 	}
 
-	wl_keyboard_send_keymap(cr, WL_KEYBOARD_KEYMAP_FORMAT_XKB_V1,
-				keyboard->xkb_info->keymap_fd,
-				keyboard->xkb_info->keymap_size);
+	weston_keyboard_send_keymap(keyboard, cr);
 
 	if (should_send_modifiers_to_client(seat, client)) {
 		send_modifiers_to_resource(keyboard,
