mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-02 11:55:59 +01:00
types/wlr_input_device: move width_mm and height_mm fields to wlr_tablet and wlr_touch
This commit is contained in:
parent
a92e5f8d46
commit
96ccc50c57
6 changed files with 15 additions and 8 deletions
|
@ -25,6 +25,9 @@ void init_device_tablet(struct wlr_libinput_input_device *dev) {
|
||||||
wlr_tablet->base.vendor = libinput_device_get_id_vendor(dev->handle);
|
wlr_tablet->base.vendor = libinput_device_get_id_vendor(dev->handle);
|
||||||
wlr_tablet->base.product = libinput_device_get_id_product(dev->handle);
|
wlr_tablet->base.product = libinput_device_get_id_product(dev->handle);
|
||||||
|
|
||||||
|
libinput_device_get_size(dev->handle, &wlr_tablet->width_mm,
|
||||||
|
&wlr_tablet->height_mm);
|
||||||
|
|
||||||
struct udev_device *udev = libinput_device_get_udev_device(dev->handle);
|
struct udev_device *udev = libinput_device_get_udev_device(dev->handle);
|
||||||
char **dst = wl_array_add(&wlr_tablet->paths, sizeof(char *));
|
char **dst = wl_array_add(&wlr_tablet->paths, sizeof(char *));
|
||||||
*dst = strdup(udev_device_get_syspath(udev));
|
*dst = strdup(udev_device_get_syspath(udev));
|
||||||
|
|
|
@ -14,6 +14,9 @@ void init_device_touch(struct wlr_libinput_input_device *dev) {
|
||||||
wlr_touch_init(wlr_touch, &libinput_touch_impl, name);
|
wlr_touch_init(wlr_touch, &libinput_touch_impl, name);
|
||||||
wlr_touch->base.vendor = libinput_device_get_id_vendor(dev->handle);
|
wlr_touch->base.vendor = libinput_device_get_id_vendor(dev->handle);
|
||||||
wlr_touch->base.product = libinput_device_get_id_product(dev->handle);
|
wlr_touch->base.product = libinput_device_get_id_product(dev->handle);
|
||||||
|
|
||||||
|
libinput_device_get_size(dev->handle, &wlr_touch->width_mm,
|
||||||
|
&wlr_touch->height_mm);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct wlr_libinput_input_device *device_from_touch(
|
struct wlr_libinput_input_device *device_from_touch(
|
||||||
|
|
|
@ -320,11 +320,12 @@ static void new_input_notify(struct wl_listener *listener, void *data) {
|
||||||
wl_signal_add(&device->tablet_pad->events.ring, &pstate->ring);
|
wl_signal_add(&device->tablet_pad->events.ring, &pstate->ring);
|
||||||
wl_list_insert(&sample->tablet_pads, &pstate->link);
|
wl_list_insert(&sample->tablet_pads, &pstate->link);
|
||||||
break;
|
break;
|
||||||
case WLR_INPUT_DEVICE_TABLET_TOOL:
|
case WLR_INPUT_DEVICE_TABLET_TOOL:;
|
||||||
sample->width_mm = device->width_mm == 0 ?
|
struct wlr_tablet *tablet = device->tablet;
|
||||||
20 : device->width_mm;
|
sample->width_mm = tablet->width_mm == 0 ?
|
||||||
sample->height_mm = device->height_mm == 0 ?
|
20 : tablet->width_mm;
|
||||||
10 : device->height_mm;
|
sample->height_mm = tablet->height_mm == 0 ?
|
||||||
|
10 : tablet->height_mm;
|
||||||
|
|
||||||
struct tablet_tool_state *tstate = calloc(sizeof(struct tablet_tool_state), 1);
|
struct tablet_tool_state *tstate = calloc(sizeof(struct tablet_tool_state), 1);
|
||||||
tstate->device = device;
|
tstate->device = device;
|
||||||
|
@ -344,7 +345,6 @@ static void new_input_notify(struct wl_listener *listener, void *data) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char *argv[]) {
|
int main(int argc, char *argv[]) {
|
||||||
wlr_log_init(WLR_DEBUG, NULL);
|
wlr_log_init(WLR_DEBUG, NULL);
|
||||||
struct wl_display *display = wl_display_create();
|
struct wl_display *display = wl_display_create();
|
||||||
|
|
|
@ -29,8 +29,6 @@ struct wlr_input_device {
|
||||||
enum wlr_input_device_type type;
|
enum wlr_input_device_type type;
|
||||||
unsigned int vendor, product;
|
unsigned int vendor, product;
|
||||||
char *name;
|
char *name;
|
||||||
// Or 0 if not applicable to this device
|
|
||||||
double width_mm, height_mm;
|
|
||||||
|
|
||||||
/* wlr_input_device.type determines which of these is valid */
|
/* wlr_input_device.type determines which of these is valid */
|
||||||
union {
|
union {
|
||||||
|
|
|
@ -64,6 +64,8 @@ struct wlr_tablet {
|
||||||
|
|
||||||
const struct wlr_tablet_impl *impl;
|
const struct wlr_tablet_impl *impl;
|
||||||
|
|
||||||
|
double width_mm, height_mm;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
struct wl_signal axis;
|
struct wl_signal axis;
|
||||||
struct wl_signal proximity;
|
struct wl_signal proximity;
|
||||||
|
|
|
@ -21,6 +21,7 @@ struct wlr_touch {
|
||||||
const struct wlr_touch_impl *impl;
|
const struct wlr_touch_impl *impl;
|
||||||
|
|
||||||
char *output_name;
|
char *output_name;
|
||||||
|
double width_mm, height_mm;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
struct wl_signal down; // struct wlr_event_touch_down
|
struct wl_signal down; // struct wlr_event_touch_down
|
||||||
|
|
Loading…
Reference in a new issue