mirror of
https://github.com/labwc/labwc.git
synced 2025-10-29 05:40:24 -04:00
include: move a few types from labwc.h to better locations
This commit is contained in:
parent
e1475a1e47
commit
2e6b30eb50
6 changed files with 41 additions and 46 deletions
|
|
@ -2,7 +2,16 @@
|
|||
#ifndef LABWC_INPUT_H
|
||||
#define LABWC_INPUT_H
|
||||
|
||||
struct seat;
|
||||
#include <wayland-server-core.h>
|
||||
|
||||
struct input {
|
||||
struct wlr_input_device *wlr_input_device;
|
||||
struct seat *seat;
|
||||
/* Set for pointer/touch devices */
|
||||
double scroll_factor;
|
||||
struct wl_listener destroy;
|
||||
struct wl_list link; /* seat.inputs */
|
||||
};
|
||||
|
||||
void input_handlers_init(struct seat *seat);
|
||||
void input_handlers_finish(struct seat *seat);
|
||||
|
|
|
|||
|
|
@ -4,10 +4,25 @@
|
|||
|
||||
#include <stdbool.h>
|
||||
#include <xkbcommon/xkbcommon.h>
|
||||
#include "input/input.h"
|
||||
|
||||
struct seat;
|
||||
struct keyboard;
|
||||
struct wlr_keyboard;
|
||||
/*
|
||||
* Virtual keyboards should not belong to seat->keyboard_group. As a result we
|
||||
* need to be able to ascertain which wlr_keyboard key/modifier events come from
|
||||
* and we achieve that by using `struct keyboard` which inherits `struct input`
|
||||
* and adds keyboard specific listeners and a wlr_keyboard pointer.
|
||||
*/
|
||||
struct keyboard {
|
||||
struct input base;
|
||||
struct wlr_keyboard *wlr_keyboard;
|
||||
bool is_virtual;
|
||||
struct wl_listener modifiers;
|
||||
struct wl_listener key;
|
||||
/* key repeat for compositor keybinds */
|
||||
uint32_t keybind_repeat_keycode;
|
||||
int32_t keybind_repeat_rate;
|
||||
struct wl_event_source *keybind_repeat;
|
||||
};
|
||||
|
||||
void keyboard_reset_current_keybind(void);
|
||||
void keyboard_configure(struct seat *seat, struct wlr_keyboard *kb,
|
||||
|
|
|
|||
|
|
@ -27,33 +27,6 @@ enum input_mode {
|
|||
LAB_INPUT_STATE_WINDOW_SWITCHER,
|
||||
};
|
||||
|
||||
struct input {
|
||||
struct wlr_input_device *wlr_input_device;
|
||||
struct seat *seat;
|
||||
/* Set for pointer/touch devices */
|
||||
double scroll_factor;
|
||||
struct wl_listener destroy;
|
||||
struct wl_list link; /* seat.inputs */
|
||||
};
|
||||
|
||||
/*
|
||||
* Virtual keyboards should not belong to seat->keyboard_group. As a result we
|
||||
* need to be able to ascertain which wlr_keyboard key/modifier events come from
|
||||
* and we achieve that by using `struct keyboard` which inherits `struct input`
|
||||
* and adds keyboard specific listeners and a wlr_keyboard pointer.
|
||||
*/
|
||||
struct keyboard {
|
||||
struct input base;
|
||||
struct wlr_keyboard *wlr_keyboard;
|
||||
bool is_virtual;
|
||||
struct wl_listener modifiers;
|
||||
struct wl_listener key;
|
||||
/* key repeat for compositor keybinds */
|
||||
uint32_t keybind_repeat_keycode;
|
||||
int32_t keybind_repeat_rate;
|
||||
struct wl_event_source *keybind_repeat;
|
||||
};
|
||||
|
||||
struct seat {
|
||||
struct wlr_seat *seat;
|
||||
struct server *server;
|
||||
|
|
@ -181,15 +154,6 @@ struct seat {
|
|||
struct wl_listener new_virtual_keyboard;
|
||||
};
|
||||
|
||||
struct lab_data_buffer;
|
||||
struct workspace;
|
||||
|
||||
enum lab_cycle_dir {
|
||||
LAB_CYCLE_DIR_NONE,
|
||||
LAB_CYCLE_DIR_FORWARD,
|
||||
LAB_CYCLE_DIR_BACKWARD,
|
||||
};
|
||||
|
||||
struct server {
|
||||
struct wl_display *wl_display;
|
||||
struct wl_event_loop *wl_event_loop; /* Can be used for timer events */
|
||||
|
|
@ -362,12 +326,6 @@ struct server {
|
|||
pid_t primary_client_pid;
|
||||
};
|
||||
|
||||
struct constraint {
|
||||
struct seat *seat;
|
||||
struct wlr_pointer_constraint_v1 *constraint;
|
||||
struct wl_listener destroy;
|
||||
};
|
||||
|
||||
void xdg_popup_create(struct view *view, struct wlr_xdg_popup *wlr_popup);
|
||||
void xdg_shell_init(struct server *server);
|
||||
void xdg_shell_finish(struct server *server);
|
||||
|
|
|
|||
|
|
@ -5,6 +5,12 @@
|
|||
#include <stdbool.h>
|
||||
#include <wayland-server-core.h>
|
||||
|
||||
enum lab_cycle_dir {
|
||||
LAB_CYCLE_DIR_NONE,
|
||||
LAB_CYCLE_DIR_FORWARD,
|
||||
LAB_CYCLE_DIR_BACKWARD,
|
||||
};
|
||||
|
||||
/* TODO: add field with keyboard layout? */
|
||||
enum window_switcher_field_content {
|
||||
LAB_FIELD_NONE = 0,
|
||||
|
|
|
|||
|
|
@ -41,6 +41,12 @@
|
|||
|
||||
#define LAB_CURSOR_SHAPE_V1_VERSION 1
|
||||
|
||||
struct constraint {
|
||||
struct seat *seat;
|
||||
struct wlr_pointer_constraint_v1 *constraint;
|
||||
struct wl_listener destroy;
|
||||
};
|
||||
|
||||
static const char * const *cursor_names = NULL;
|
||||
|
||||
/* Usual cursor names */
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
#include <wlr/types/wlr_virtual_keyboard_v1.h>
|
||||
#include <wlr/types/wlr_xdg_shell.h>
|
||||
#include "common/mem.h"
|
||||
#include "input/keyboard.h"
|
||||
#include "node.h"
|
||||
#include "output.h"
|
||||
#include "view.h"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue