From 7e75cbbaca48fdf2f584aa45879ecd9175483b47 Mon Sep 17 00:00:00 2001 From: Josh Rahm Date: Wed, 21 Feb 2024 17:02:39 -0700 Subject: Have the plugin handle more responsibility with keybindings. The plugin now passes the key events to the Wayland clients. --- harness/include/foreign_intf.h | 5 ++++- harness/include/plugin.h | 7 ++++++- 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'harness/include') diff --git a/harness/include/foreign_intf.h b/harness/include/foreign_intf.h index e0d178c..6558fab 100644 --- a/harness/include/foreign_intf.h +++ b/harness/include/foreign_intf.h @@ -19,10 +19,13 @@ typedef struct FOREIGN_INTERFACE { EXPORT(void (*request_hot_reload)(ctx_t ctx)); /* Requests the harness hot reload the current plugin. */ - EXPORT(void (*do_log)(ctx_t ctx, const char* str)); + EXPORT(void (*do_log)(ctx_t ctx, const char *str)); /* Requestes that the whole system exit. Exits with the given return code. */ EXPORT(void (*request_exit)(ctx_t ctx, int rc)); + + /* Returns the seat associated with the server. */ + EXPORT(void *(*get_seat)(ctx_t ctx)); } foreign_interface_t; #undef EXPORT diff --git a/harness/include/plugin.h b/harness/include/plugin.h index d47abb2..46e833a 100644 --- a/harness/include/plugin.h +++ b/harness/include/plugin.h @@ -6,6 +6,7 @@ #include #include #include +#include #include #include @@ -18,8 +19,11 @@ #define EXPORT_INCLUDE(a) +// clang-format off EXPORT_INCLUDE() EXPORT_INCLUDE() +EXPORT_INCLUDE() +// clang-format on #define MAX_QUEUED_ACTIONS 8 @@ -93,7 +97,7 @@ typedef struct PLUGIN { * reliably torn down. It is up to the plugin to ensure this won't interfere * with hot-reloading. */ - EXPORT(void (*plugin_metaload)(int argc, char** argv)); + EXPORT(void (*plugin_metaload)(int argc, char **argv)); /** Intializes the plugin with the given argc/argv. This is the first thing * called on the plugin and is called immediately after the library is loaded. @@ -135,6 +139,7 @@ typedef struct PLUGIN { * Handles a keybinding. */ EXPORT(opqst_t (*plugin_handle_keybinding)( + struct wlr_input_device *input_device, struct wlr_event_keyboard_key *event, uint32_t modifiers, uint32_t keysym, uint32_t codepoint, int *out_handled, opqst_t state)); -- cgit