rootston: break up input.h
This commit is contained in:
parent
80b4a2f64c
commit
53021f8ed4
|
@ -1,6 +1,5 @@
|
||||||
#ifndef _ROOTSTON_INPUT_H
|
#ifndef _ROOTSTON_INPUT_H
|
||||||
#define _ROOTSTON_INPUT_H
|
#define _ROOTSTON_INPUT_H
|
||||||
#include <xkbcommon/xkbcommon.h>
|
|
||||||
#include <wayland-server.h>
|
#include <wayland-server.h>
|
||||||
#include <wlr/types/wlr_input_device.h>
|
#include <wlr/types/wlr_input_device.h>
|
||||||
#include <wlr/types/wlr_cursor.h>
|
#include <wlr/types/wlr_cursor.h>
|
||||||
|
@ -10,41 +9,6 @@
|
||||||
#include "rootston/view.h"
|
#include "rootston/view.h"
|
||||||
#include "rootston/server.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 {
|
enum roots_cursor_mode {
|
||||||
ROOTS_CURSOR_PASSTHROUGH = 0,
|
ROOTS_CURSOR_PASSTHROUGH = 0,
|
||||||
ROOTS_CURSOR_MOVE = 1,
|
ROOTS_CURSOR_MOVE = 1,
|
||||||
|
@ -77,13 +41,6 @@ struct roots_drag_icon {
|
||||||
struct wl_listener surface_commit;
|
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_input {
|
||||||
struct roots_config *config;
|
struct roots_config *config;
|
||||||
struct roots_server *server;
|
struct roots_server *server;
|
||||||
|
@ -138,15 +95,6 @@ struct roots_input *input_create(struct roots_server *server,
|
||||||
struct roots_config *config);
|
struct roots_config *config);
|
||||||
void input_destroy(struct roots_input *input);
|
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_initialize(struct roots_input *input);
|
||||||
void cursor_load_config(struct roots_config *config,
|
void cursor_load_config(struct roots_config *config,
|
||||||
struct wlr_cursor *cursor,
|
struct wlr_cursor *cursor,
|
||||||
|
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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 <wlr/types/wlr_box.h>
|
||||||
#include "rootston/config.h"
|
#include "rootston/config.h"
|
||||||
#include "rootston/input.h"
|
#include "rootston/input.h"
|
||||||
|
#include "rootston/keyboard.h"
|
||||||
#include "rootston/ini.h"
|
#include "rootston/ini.h"
|
||||||
|
|
||||||
static void usage(const char *name, int ret) {
|
static void usage(const char *name, int ret) {
|
||||||
|
|
|
@ -18,6 +18,10 @@
|
||||||
#include "rootston/input.h"
|
#include "rootston/input.h"
|
||||||
#include "rootston/desktop.h"
|
#include "rootston/desktop.h"
|
||||||
#include "rootston/view.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,
|
const struct roots_input_event *get_input_event(struct roots_input *input,
|
||||||
uint32_t serial) {
|
uint32_t serial) {
|
||||||
|
|
|
@ -8,6 +8,10 @@
|
||||||
#include "rootston/server.h"
|
#include "rootston/server.h"
|
||||||
#include "rootston/config.h"
|
#include "rootston/config.h"
|
||||||
#include "rootston/input.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) {
|
static const char *device_type(enum wlr_input_device_type type) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
#include <wlr/util/log.h>
|
#include <wlr/util/log.h>
|
||||||
#include <xkbcommon/xkbcommon.h>
|
#include <xkbcommon/xkbcommon.h>
|
||||||
#include "rootston/input.h"
|
#include "rootston/input.h"
|
||||||
|
#include "rootston/keyboard.h"
|
||||||
|
|
||||||
static ssize_t keyboard_pressed_keysym_index(struct roots_keyboard *keyboard,
|
static ssize_t keyboard_pressed_keysym_index(struct roots_keyboard *keyboard,
|
||||||
xkb_keysym_t keysym) {
|
xkb_keysym_t keysym) {
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
#include <wlr/types/wlr_input_device.h>
|
#include <wlr/types/wlr_input_device.h>
|
||||||
#include <wlr/types/wlr_pointer.h>
|
#include <wlr/types/wlr_pointer.h>
|
||||||
#include "rootston/input.h"
|
#include "rootston/input.h"
|
||||||
|
#include "rootston/pointer.h"
|
||||||
|
|
||||||
void pointer_add(struct wlr_input_device *device, struct roots_input *input) {
|
void pointer_add(struct wlr_input_device *device, struct roots_input *input) {
|
||||||
struct roots_pointer *pointer = calloc(sizeof(struct roots_pointer), 1);
|
struct roots_pointer *pointer = calloc(sizeof(struct roots_pointer), 1);
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
#include <wlr/types/wlr_pointer.h>
|
#include <wlr/types/wlr_pointer.h>
|
||||||
#include <wlr/util/log.h>
|
#include <wlr/util/log.h>
|
||||||
#include "rootston/input.h"
|
#include "rootston/input.h"
|
||||||
|
#include "rootston/tablet_tool.h"
|
||||||
|
|
||||||
void tablet_tool_add(struct wlr_input_device *device, struct roots_input *input) {
|
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);
|
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_input_device.h>
|
||||||
#include <wlr/types/wlr_pointer.h>
|
#include <wlr/types/wlr_pointer.h>
|
||||||
#include "rootston/input.h"
|
#include "rootston/input.h"
|
||||||
|
#include "rootston/touch.h"
|
||||||
|
|
||||||
// TODO: we'll likely want touch events to both control the cursor *and* be
|
// TODO: we'll likely want touch events to both control the cursor *and* be
|
||||||
// submitted directly to the seat.
|
// submitted directly to the seat.
|
||||||
|
|
Loading…
Reference in New Issue