config: add tablet button mapping configuration

Co-authored-by: Consolatis <35009135+Consolatis@users.noreply.github.com>
This commit is contained in:
Jens Peters 2023-12-29 10:06:17 +01:00 committed by Johan Malm
parent f0b72e3af7
commit 567b81ea10
6 changed files with 128 additions and 0 deletions

View file

@ -9,6 +9,7 @@
#include "common/border.h"
#include "common/buf.h"
#include "common/font.h"
#include "config/tablet.h"
#include "config/libinput.h"
#include "resize_indicator.h"
#include "theme.h"
@ -80,6 +81,12 @@ struct rcxml {
struct wl_list mousebinds; /* struct mousebind.link */
double scroll_factor;
/* graphics tablet */
struct tablet_config {
uint16_t button_map_count;
struct button_map_entry button_map[BUTTON_MAP_MAX];
} tablet;
/* libinput */
struct wl_list libinput_categories;

18
include/config/tablet.h Normal file
View file

@ -0,0 +1,18 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#ifndef LABWC_TABLET_CONFIG_H
#define LABWC_TABLET_CONFIG_H
#include <stdint.h>
#define BUTTON_MAP_MAX 16
struct button_map_entry {
uint32_t from;
uint32_t to;
};
uint32_t tablet_button_from_str(const char *button);
uint32_t mouse_button_from_str(const char *button);
void tablet_button_mapping_add(uint32_t from, uint32_t to);
void tablet_load_default_button_mappings(void);
#endif /* LABWC_TABLET_CONFIG_H */