config: add user names for pad butttons

This commit is contained in:
Jens Peters 2024-01-02 20:31:17 +01:00 committed by Johan Malm
parent c2687d9281
commit d48126bf97
3 changed files with 31 additions and 2 deletions

View file

@ -404,8 +404,8 @@
after applying tablet area transformation.
Tablet buttons emulate regular mouse buttons. The tablet *button* can
be set to any of [tip|stylus|stylus2|stylus3]. Valid *to* mouse buttons
are [left|right|middle].
be set to any of [tip|stylus|stylus2|stylus3|pad|pad2|pad3|..|pad9].
Valid *to* mouse buttons are [left|right|middle].
-->
<tablet rotate="0">
<!-- Active area dimensions are in mm -->

View file

@ -7,6 +7,16 @@ struct seat;
struct wlr_device;
struct wlr_input_device;
#define LAB_BTN_PAD 0x0
#define LAB_BTN_PAD2 0x1
#define LAB_BTN_PAD3 0x2
#define LAB_BTN_PAD4 0x3
#define LAB_BTN_PAD5 0x4
#define LAB_BTN_PAD6 0x5
#define LAB_BTN_PAD7 0x6
#define LAB_BTN_PAD8 0x7
#define LAB_BTN_PAD9 0x8
struct drawing_tablet_pad {
struct seat *seat;
struct wlr_tablet_pad *tablet;

View file

@ -6,6 +6,7 @@
#include <wlr/util/log.h>
#include "config/tablet.h"
#include "config/rcxml.h"
#include "input/tablet_pad.h"
double
tablet_get_dbl_if_positive(const char *content, const char *name)
@ -48,6 +49,24 @@ tablet_button_from_str(const char *button)
return BTN_STYLUS2;
} else if (!strcasecmp(button, "Stylus3")) {
return BTN_STYLUS3;
} else if (!strcasecmp(button, "Pad")) {
return LAB_BTN_PAD;
} else if (!strcasecmp(button, "Pad2")) {
return LAB_BTN_PAD2;
} else if (!strcasecmp(button, "Pad3")) {
return LAB_BTN_PAD3;
} else if (!strcasecmp(button, "Pad4")) {
return LAB_BTN_PAD4;
} else if (!strcasecmp(button, "Pad5")) {
return LAB_BTN_PAD5;
} else if (!strcasecmp(button, "Pad6")) {
return LAB_BTN_PAD6;
} else if (!strcasecmp(button, "Pad7")) {
return LAB_BTN_PAD7;
} else if (!strcasecmp(button, "Pad8")) {
return LAB_BTN_PAD8;
} else if (!strcasecmp(button, "Pad9")) {
return LAB_BTN_PAD9;
}
wlr_log(WLR_ERROR, "Invalid value for tablet button: %s", button);
return UINT32_MAX;