feat(backend/X11): 实现按键抓取功能
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
#include "base/array.h"
|
||||
#include "base/macros.h"
|
||||
#include "base/memory.h"
|
||||
#include "core/event.h"
|
||||
#include "core/types.h"
|
||||
|
||||
typedef struct key_binding_t {
|
||||
const char *key_str;
|
||||
|
||||
@@ -20,9 +20,6 @@ typedef enum event_type_t {
|
||||
ZDWM_EVENT_CONFIGURE_REQUEST,
|
||||
} event_type_t;
|
||||
|
||||
typedef uint32_t modifier_mask_t;
|
||||
typedef uint32_t keysym_t;
|
||||
|
||||
typedef struct key_press_event_t {
|
||||
modifier_mask_t modifiers;
|
||||
keysym_t keysym;
|
||||
|
||||
@@ -16,6 +16,7 @@ typedef enum effect_type_t {
|
||||
ZDWM_EFFECT_CHANGE_BORDER_WIDTH,
|
||||
ZDWM_EFFECT_CHANGE_WINDOW_LIST,
|
||||
ZDWM_EFFECT_RESTACK_WINDOWS,
|
||||
ZDWM_EFFECT_BIND_KEY,
|
||||
} effect_type_t;
|
||||
|
||||
typedef struct effect_only_window_id_t {
|
||||
@@ -48,6 +49,16 @@ typedef struct effect_window_list_t {
|
||||
size_t count;
|
||||
} effect_window_list_t;
|
||||
|
||||
typedef struct key_bind_t {
|
||||
modifier_mask_t modifiers;
|
||||
keysym_t keysym;
|
||||
} key_bind_t;
|
||||
|
||||
typedef struct effect_bind_key_t {
|
||||
const key_bind_t *keys;
|
||||
size_t count;
|
||||
} effect_bind_key_t;
|
||||
|
||||
typedef struct effect_t {
|
||||
effect_type_t type;
|
||||
union {
|
||||
@@ -61,6 +72,7 @@ typedef struct effect_t {
|
||||
effect_change_border_width_t change_border_width;
|
||||
effect_window_list_t change_window_list;
|
||||
effect_window_list_t restack_windows;
|
||||
effect_bind_key_t bind_key;
|
||||
} as;
|
||||
} effect_t;
|
||||
|
||||
|
||||
@@ -17,6 +17,9 @@ typedef zdwm_rule_match_t rule_match_t;
|
||||
typedef zdwm_rule_action_t rule_action_t;
|
||||
/* clang-format on */
|
||||
|
||||
typedef uint32_t modifier_mask_t;
|
||||
typedef uint32_t keysym_t;
|
||||
|
||||
#define ZDWM_OUTPUT_ID_INVALID ((output_id_t)UINT32_MAX)
|
||||
|
||||
typedef struct point_t {
|
||||
|
||||
Reference in New Issue
Block a user