mirror of
https://github.com/swaywm/sway.git
synced 2025-01-01 01:46:45 +01:00
Establish sway input submodule
This commit is contained in:
parent
7414d92327
commit
0f45fad18c
6 changed files with 25 additions and 15 deletions
|
@ -1,18 +1,19 @@
|
||||||
#ifndef _SWAY_INPUT_H
|
#ifndef _SWAY_INPUT_H
|
||||||
#define _SWAY_INPUT_H
|
#define _SWAY_INPUT_H
|
||||||
|
|
||||||
#include <libinput.h>
|
#include <libinput.h>
|
||||||
|
#include "sway/server.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "list.h"
|
#include "list.h"
|
||||||
|
|
||||||
|
struct sway_input {
|
||||||
|
list_t *input_devices;
|
||||||
|
};
|
||||||
|
|
||||||
struct input_config *new_input_config(const char* identifier);
|
struct input_config *new_input_config(const char* identifier);
|
||||||
|
|
||||||
char* libinput_dev_unique_id(struct libinput_device *dev);
|
char* libinput_dev_unique_id(struct libinput_device *dev);
|
||||||
|
|
||||||
/**
|
struct sway_input *sway_input_create(struct sway_server *server);
|
||||||
* Global input device list.
|
|
||||||
*/
|
|
||||||
extern list_t *input_devices;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Pointer used when reading input blocked.
|
* Pointer used when reading input blocked.
|
||||||
|
|
|
@ -10,9 +10,6 @@
|
||||||
#include <wlr/xwayland.h>
|
#include <wlr/xwayland.h>
|
||||||
|
|
||||||
struct sway_server {
|
struct sway_server {
|
||||||
// TODO WLR
|
|
||||||
//struct roots_input *input;
|
|
||||||
|
|
||||||
struct wl_display *wl_display;
|
struct wl_display *wl_display;
|
||||||
struct wl_event_loop *wl_event_loop;
|
struct wl_event_loop *wl_event_loop;
|
||||||
|
|
||||||
|
@ -20,6 +17,8 @@ struct sway_server {
|
||||||
struct wlr_renderer *renderer;
|
struct wlr_renderer *renderer;
|
||||||
|
|
||||||
struct wlr_data_device_manager *data_device_manager;
|
struct wlr_data_device_manager *data_device_manager;
|
||||||
|
|
||||||
|
struct sway_input *input;
|
||||||
};
|
};
|
||||||
|
|
||||||
bool server_init(struct sway_server *server);
|
bool server_init(struct sway_server *server);
|
||||||
|
|
|
@ -26,7 +26,6 @@ add_executable(sway
|
||||||
criteria.c
|
criteria.c
|
||||||
debug_log.c
|
debug_log.c
|
||||||
focus.c
|
focus.c
|
||||||
input.c
|
|
||||||
input_state.c
|
input_state.c
|
||||||
ipc-json.c
|
ipc-json.c
|
||||||
ipc-server.c
|
ipc-server.c
|
||||||
|
@ -37,6 +36,8 @@ add_executable(sway
|
||||||
border.c
|
border.c
|
||||||
security.c
|
security.c
|
||||||
server.c
|
server.c
|
||||||
|
|
||||||
|
input/input.c
|
||||||
)
|
)
|
||||||
|
|
||||||
add_definitions(
|
add_definitions(
|
||||||
|
|
|
@ -7,9 +7,20 @@
|
||||||
#include <libinput.h>
|
#include <libinput.h>
|
||||||
#include "sway/config.h"
|
#include "sway/config.h"
|
||||||
#include "sway/input.h"
|
#include "sway/input.h"
|
||||||
|
#include "sway/server.h"
|
||||||
#include "list.h"
|
#include "list.h"
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
|
|
||||||
|
struct input_config *current_input_config = NULL;
|
||||||
|
|
||||||
|
struct sway_input *sway_input_create(struct sway_server *server) {
|
||||||
|
struct sway_input *input = calloc(1, sizeof(struct sway_input));
|
||||||
|
if (!input) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
return input;
|
||||||
|
}
|
||||||
|
|
||||||
struct input_config *new_input_config(const char* identifier) {
|
struct input_config *new_input_config(const char* identifier) {
|
||||||
struct input_config *input = calloc(1, sizeof(struct input_config));
|
struct input_config *input = calloc(1, sizeof(struct input_config));
|
||||||
if (!input) {
|
if (!input) {
|
||||||
|
@ -64,6 +75,3 @@ char *libinput_dev_unique_id(struct libinput_device *device) {
|
||||||
free(name);
|
free(name);
|
||||||
return identifier;
|
return identifier;
|
||||||
}
|
}
|
||||||
|
|
||||||
list_t *input_devices = NULL;
|
|
||||||
struct input_config *current_input_config = NULL;
|
|
|
@ -476,12 +476,14 @@ void ipc_client_handle_command(struct ipc_client *client) {
|
||||||
goto exit_denied;
|
goto exit_denied;
|
||||||
}
|
}
|
||||||
json_object *inputs = json_object_new_array();
|
json_object *inputs = json_object_new_array();
|
||||||
|
/* TODO WLR
|
||||||
if (input_devices) {
|
if (input_devices) {
|
||||||
for(int i = 0; i<input_devices->length; i++) {
|
for(int i = 0; i<input_devices->length; i++) {
|
||||||
struct libinput_device *device = input_devices->items[i];
|
struct libinput_device *device = input_devices->items[i];
|
||||||
json_object_array_add(inputs, ipc_json_describe_input(device));
|
json_object_array_add(inputs, ipc_json_describe_input(device));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
const char *json_string = json_object_to_json_string(inputs);
|
const char *json_string = json_object_to_json_string(inputs);
|
||||||
ipc_send_reply(client, json_string, (uint32_t) strlen(json_string));
|
ipc_send_reply(client, json_string, (uint32_t) strlen(json_string));
|
||||||
json_object_put(inputs);
|
json_object_put(inputs);
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
// TODO WLR: make Xwayland optional
|
// TODO WLR: make Xwayland optional
|
||||||
#include <wlr/xwayland.h>
|
#include <wlr/xwayland.h>
|
||||||
#include "sway/server.h"
|
#include "sway/server.h"
|
||||||
|
#include "sway/input.h"
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
|
|
||||||
bool server_init(struct sway_server *server) {
|
bool server_init(struct sway_server *server) {
|
||||||
|
@ -22,9 +23,7 @@ bool server_init(struct sway_server *server) {
|
||||||
server->renderer = wlr_gles2_renderer_create(server->backend);
|
server->renderer = wlr_gles2_renderer_create(server->backend);
|
||||||
wl_display_init_shm(server->wl_display);
|
wl_display_init_shm(server->wl_display);
|
||||||
|
|
||||||
// TODO WLR
|
server->input = sway_input_create(server);
|
||||||
//server->desktop = desktop_create(server, server.config);
|
|
||||||
//server->input = input_create(&server, server.config);
|
|
||||||
server->data_device_manager =
|
server->data_device_manager =
|
||||||
wlr_data_device_manager_create(server->wl_display);
|
wlr_data_device_manager_create(server->wl_display);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue