mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-02 11:55:59 +01:00
rootston: break up input.h
This commit is contained in:
parent
80b4a2f64c
commit
53021f8ed4
12 changed files with 93 additions and 52 deletions
|
@ -1,6 +1,5 @@
|
|||
#ifndef _ROOTSTON_INPUT_H
|
||||
#define _ROOTSTON_INPUT_H
|
||||
#include <xkbcommon/xkbcommon.h>
|
||||
#include <wayland-server.h>
|
||||
#include <wlr/types/wlr_input_device.h>
|
||||
#include <wlr/types/wlr_cursor.h>
|
||||
|
@ -10,41 +9,6 @@
|
|||
#include "rootston/view.h"
|
||||
#include "rootston/server.h"
|
||||
|
||||
#define ROOTS_KEYBOARD_PRESSED_KEYSYMS_CAP 32
|
||||
|
||||
struct roots_keyboard {
|
||||
struct roots_input *input;
|
||||
struct wlr_input_device *device;
|
||||
struct wl_listener key;
|
||||
struct wl_listener modifiers;
|
||||
struct wl_list link;
|
||||
|
||||
xkb_keysym_t pressed_keysyms[ROOTS_KEYBOARD_PRESSED_KEYSYMS_CAP];
|
||||
};
|
||||
|
||||
struct roots_pointer {
|
||||
struct roots_input *input;
|
||||
struct wlr_input_device *device;
|
||||
struct wl_list link;
|
||||
};
|
||||
|
||||
struct roots_touch {
|
||||
struct roots_input *input;
|
||||
struct wlr_input_device *device;
|
||||
struct wl_list link;
|
||||
};
|
||||
|
||||
// TODO: tablet pad
|
||||
struct roots_tablet_tool {
|
||||
struct roots_input *input;
|
||||
struct wlr_input_device *device;
|
||||
struct wl_listener axis;
|
||||
struct wl_listener proximity;
|
||||
struct wl_listener tip;
|
||||
struct wl_listener button;
|
||||
struct wl_list link;
|
||||
};
|
||||
|
||||
enum roots_cursor_mode {
|
||||
ROOTS_CURSOR_PASSTHROUGH = 0,
|
||||
ROOTS_CURSOR_MOVE = 1,
|
||||
|
@ -77,13 +41,6 @@ struct roots_drag_icon {
|
|||
struct wl_listener surface_commit;
|
||||
};
|
||||
|
||||
struct roots_touch_point {
|
||||
struct roots_touch *device;
|
||||
int32_t slot;
|
||||
double x, y;
|
||||
struct wl_list link;
|
||||
};
|
||||
|
||||
struct roots_input {
|
||||
struct roots_config *config;
|
||||
struct roots_server *server;
|
||||
|
@ -138,15 +95,6 @@ struct roots_input *input_create(struct roots_server *server,
|
|||
struct roots_config *config);
|
||||
void input_destroy(struct roots_input *input);
|
||||
|
||||
void pointer_add(struct wlr_input_device *device, struct roots_input *input);
|
||||
void pointer_remove(struct wlr_input_device *device, struct roots_input *input);
|
||||
void keyboard_add(struct wlr_input_device *device, struct roots_input *input);
|
||||
void keyboard_remove(struct wlr_input_device *device, struct roots_input *input);
|
||||
void touch_add(struct wlr_input_device *device, struct roots_input *input);
|
||||
void touch_remove(struct wlr_input_device *device, struct roots_input *input);
|
||||
void tablet_tool_add(struct wlr_input_device *device, struct roots_input *input);
|
||||
void tablet_tool_remove(struct wlr_input_device *device, struct roots_input *input);
|
||||
|
||||
void cursor_initialize(struct roots_input *input);
|
||||
void cursor_load_config(struct roots_config *config,
|
||||
struct wlr_cursor *cursor,
|
||||
|
|
22
include/rootston/keyboard.h
Normal file
22
include/rootston/keyboard.h
Normal file
|
@ -0,0 +1,22 @@
|
|||
#ifndef _ROOTSTON_KEYBOARD_H
|
||||
#define _ROOTSTON_KEYBOARD_H
|
||||
|
||||
#include <xkbcommon/xkbcommon.h>
|
||||
#include "rootston/input.h"
|
||||
|
||||
#define ROOTS_KEYBOARD_PRESSED_KEYSYMS_CAP 32
|
||||
|
||||
struct roots_keyboard {
|
||||
struct roots_input *input;
|
||||
struct wlr_input_device *device;
|
||||
struct wl_listener key;
|
||||
struct wl_listener modifiers;
|
||||
struct wl_list link;
|
||||
|
||||
xkb_keysym_t pressed_keysyms[ROOTS_KEYBOARD_PRESSED_KEYSYMS_CAP];
|
||||
};
|
||||
|
||||
void keyboard_add(struct wlr_input_device *device, struct roots_input *input);
|
||||
void keyboard_remove(struct wlr_input_device *device, struct roots_input *input);
|
||||
|
||||
#endif
|
16
include/rootston/pointer.h
Normal file
16
include/rootston/pointer.h
Normal file
|
@ -0,0 +1,16 @@
|
|||
#ifndef _ROOTSTON_POINTER_H
|
||||
#define _ROOTSTON_POINTER_H
|
||||
|
||||
#include <wayland-server.h>
|
||||
#include <wlr/types/wlr_input_device.h>
|
||||
|
||||
struct roots_pointer {
|
||||
struct roots_input *input;
|
||||
struct wlr_input_device *device;
|
||||
struct wl_list link;
|
||||
};
|
||||
|
||||
void pointer_add(struct wlr_input_device *device, struct roots_input *input);
|
||||
void pointer_remove(struct wlr_input_device *device, struct roots_input *input);
|
||||
|
||||
#endif
|
20
include/rootston/tablet_tool.h
Normal file
20
include/rootston/tablet_tool.h
Normal file
|
@ -0,0 +1,20 @@
|
|||
#ifndef _ROOTSTON_TABLET_TOOL_H
|
||||
#define _ROOTSTON_TABLET_TOOL_H
|
||||
|
||||
#include <wayland-server.h>
|
||||
#include "rootston/input.h"
|
||||
|
||||
struct roots_tablet_tool {
|
||||
struct roots_input *input;
|
||||
struct wlr_input_device *device;
|
||||
struct wl_listener axis;
|
||||
struct wl_listener proximity;
|
||||
struct wl_listener tip;
|
||||
struct wl_listener button;
|
||||
struct wl_list link;
|
||||
};
|
||||
|
||||
void tablet_tool_add(struct wlr_input_device *device, struct roots_input *input);
|
||||
void tablet_tool_remove(struct wlr_input_device *device, struct roots_input *input);
|
||||
|
||||
#endif
|
22
include/rootston/touch.h
Normal file
22
include/rootston/touch.h
Normal file
|
@ -0,0 +1,22 @@
|
|||
#ifndef _ROOTSTON_TOUCH_H
|
||||
#define _ROOTSTON_TOUCH_H
|
||||
|
||||
#include <wayland-server.h>
|
||||
|
||||
struct roots_touch {
|
||||
struct roots_input *input;
|
||||
struct wlr_input_device *device;
|
||||
struct wl_list link;
|
||||
};
|
||||
|
||||
struct roots_touch_point {
|
||||
struct roots_touch *device;
|
||||
int32_t slot;
|
||||
double x, y;
|
||||
struct wl_list link;
|
||||
};
|
||||
|
||||
void touch_add(struct wlr_input_device *device, struct roots_input *input);
|
||||
void touch_remove(struct wlr_input_device *device, struct roots_input *input);
|
||||
|
||||
#endif
|
|
@ -13,6 +13,7 @@
|
|||
#include <wlr/types/wlr_box.h>
|
||||
#include "rootston/config.h"
|
||||
#include "rootston/input.h"
|
||||
#include "rootston/keyboard.h"
|
||||
#include "rootston/ini.h"
|
||||
|
||||
static void usage(const char *name, int ret) {
|
||||
|
|
|
@ -18,6 +18,10 @@
|
|||
#include "rootston/input.h"
|
||||
#include "rootston/desktop.h"
|
||||
#include "rootston/view.h"
|
||||
#include "rootston/keyboard.h"
|
||||
#include "rootston/pointer.h"
|
||||
#include "rootston/tablet_tool.h"
|
||||
#include "rootston/touch.h"
|
||||
|
||||
const struct roots_input_event *get_input_event(struct roots_input *input,
|
||||
uint32_t serial) {
|
||||
|
|
|
@ -8,6 +8,10 @@
|
|||
#include "rootston/server.h"
|
||||
#include "rootston/config.h"
|
||||
#include "rootston/input.h"
|
||||
#include "rootston/tablet_tool.h"
|
||||
#include "rootston/keyboard.h"
|
||||
#include "rootston/pointer.h"
|
||||
#include "rootston/touch.h"
|
||||
|
||||
static const char *device_type(enum wlr_input_device_type type) {
|
||||
switch (type) {
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#include <wlr/util/log.h>
|
||||
#include <xkbcommon/xkbcommon.h>
|
||||
#include "rootston/input.h"
|
||||
#include "rootston/keyboard.h"
|
||||
|
||||
static ssize_t keyboard_pressed_keysym_index(struct roots_keyboard *keyboard,
|
||||
xkb_keysym_t keysym) {
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#include <wlr/types/wlr_input_device.h>
|
||||
#include <wlr/types/wlr_pointer.h>
|
||||
#include "rootston/input.h"
|
||||
#include "rootston/pointer.h"
|
||||
|
||||
void pointer_add(struct wlr_input_device *device, struct roots_input *input) {
|
||||
struct roots_pointer *pointer = calloc(sizeof(struct roots_pointer), 1);
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
#include <wlr/types/wlr_pointer.h>
|
||||
#include <wlr/util/log.h>
|
||||
#include "rootston/input.h"
|
||||
#include "rootston/tablet_tool.h"
|
||||
|
||||
void tablet_tool_add(struct wlr_input_device *device, struct roots_input *input) {
|
||||
struct roots_tablet_tool *tool = calloc(sizeof(struct roots_tablet_tool), 1);
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#include <wlr/types/wlr_input_device.h>
|
||||
#include <wlr/types/wlr_pointer.h>
|
||||
#include "rootston/input.h"
|
||||
#include "rootston/touch.h"
|
||||
|
||||
// TODO: we'll likely want touch events to both control the cursor *and* be
|
||||
// submitted directly to the seat.
|
||||
|
|
Loading…
Reference in a new issue