|
|
|
@ -710,6 +710,15 @@ static void seat_apply_input_mapping(struct sway_seat *seat,
|
|
|
|
|
struct input_config *ic =
|
|
|
|
|
input_device_get_config(sway_device->input_device);
|
|
|
|
|
|
|
|
|
|
switch (sway_device->input_device->wlr_device->type) {
|
|
|
|
|
case WLR_INPUT_DEVICE_POINTER:
|
|
|
|
|
case WLR_INPUT_DEVICE_TOUCH:
|
|
|
|
|
case WLR_INPUT_DEVICE_TABLET_TOOL:
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
return; // these devices don't support mappings
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
sway_log(SWAY_DEBUG, "Applying input mapping to %s",
|
|
|
|
|
sway_device->input_device->identifier);
|
|
|
|
|
|
|
|
|
@ -799,7 +808,6 @@ static void seat_configure_pointer(struct sway_seat *seat,
|
|
|
|
|
}
|
|
|
|
|
wlr_cursor_attach_input_device(seat->cursor->cursor,
|
|
|
|
|
sway_device->input_device->wlr_device);
|
|
|
|
|
seat_apply_input_mapping(seat, sway_device);
|
|
|
|
|
wl_event_source_timer_update(
|
|
|
|
|
seat->cursor->hide_source, cursor_get_timeout(seat->cursor));
|
|
|
|
|
}
|
|
|
|
@ -841,7 +849,6 @@ static void seat_configure_touch(struct sway_seat *seat,
|
|
|
|
|
struct sway_seat_device *sway_device) {
|
|
|
|
|
wlr_cursor_attach_input_device(seat->cursor->cursor,
|
|
|
|
|
sway_device->input_device->wlr_device);
|
|
|
|
|
seat_apply_input_mapping(seat, sway_device);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void seat_configure_tablet_tool(struct sway_seat *seat,
|
|
|
|
@ -852,7 +859,6 @@ static void seat_configure_tablet_tool(struct sway_seat *seat,
|
|
|
|
|
sway_configure_tablet(sway_device->tablet);
|
|
|
|
|
wlr_cursor_attach_input_device(seat->cursor->cursor,
|
|
|
|
|
sway_device->input_device->wlr_device);
|
|
|
|
|
seat_apply_input_mapping(seat, sway_device);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void seat_configure_tablet_pad(struct sway_seat *seat,
|
|
|
|
@ -909,6 +915,18 @@ void seat_configure_device(struct sway_seat *seat,
|
|
|
|
|
seat_configure_tablet_pad(seat, seat_device);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
seat_apply_input_mapping(seat, seat_device);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void seat_configure_device_mapping(struct sway_seat *seat,
|
|
|
|
|
struct sway_input_device *input_device) {
|
|
|
|
|
struct sway_seat_device *seat_device = seat_get_device(seat, input_device);
|
|
|
|
|
if (!seat_device) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
seat_apply_input_mapping(seat, seat_device);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void seat_reset_device(struct sway_seat *seat,
|
|
|
|
|