input/pointer: don't trigger pointer bindings for emulated input
Prior to this commit, a tablet device could trigger mouse button down bindings if the pen was pressed on a surface that didn't bind tablet handlers -- but it wouldn't if the surface did bind tablet handlers. We should expose consistent behavior to users so that they don't have to care about emulated vs. non-emulated input, so stop triggering bindings for any non-pointer devices.
This commit is contained in:
parent
82c439c4f1
commit
d328c2439c
|
@ -91,7 +91,7 @@ void cursor_rebase_all(void);
|
||||||
void cursor_update_image(struct sway_cursor *cursor, struct sway_node *node);
|
void cursor_update_image(struct sway_cursor *cursor, struct sway_node *node);
|
||||||
|
|
||||||
void cursor_handle_activity(struct sway_cursor *cursor,
|
void cursor_handle_activity(struct sway_cursor *cursor,
|
||||||
struct wlr_input_device *device);
|
struct wlr_input_device *device);
|
||||||
void cursor_unhide(struct sway_cursor *cursor);
|
void cursor_unhide(struct sway_cursor *cursor);
|
||||||
int cursor_get_timeout(struct sway_cursor *cursor);
|
int cursor_get_timeout(struct sway_cursor *cursor);
|
||||||
|
|
||||||
|
|
|
@ -256,21 +256,21 @@ int cursor_get_timeout(struct sway_cursor *cursor) {
|
||||||
static enum sway_input_idle_source idle_source_from_device(
|
static enum sway_input_idle_source idle_source_from_device(
|
||||||
struct wlr_input_device *device) {
|
struct wlr_input_device *device) {
|
||||||
switch (device->type) {
|
switch (device->type) {
|
||||||
case WLR_INPUT_DEVICE_KEYBOARD:
|
case WLR_INPUT_DEVICE_KEYBOARD:
|
||||||
return IDLE_SOURCE_KEYBOARD;
|
return IDLE_SOURCE_KEYBOARD;
|
||||||
case WLR_INPUT_DEVICE_POINTER:
|
case WLR_INPUT_DEVICE_POINTER:
|
||||||
return IDLE_SOURCE_POINTER;
|
return IDLE_SOURCE_POINTER;
|
||||||
case WLR_INPUT_DEVICE_TOUCH:
|
case WLR_INPUT_DEVICE_TOUCH:
|
||||||
return IDLE_SOURCE_TOUCH;
|
return IDLE_SOURCE_TOUCH;
|
||||||
case WLR_INPUT_DEVICE_TABLET_TOOL:
|
case WLR_INPUT_DEVICE_TABLET_TOOL:
|
||||||
return IDLE_SOURCE_TABLET_TOOL;
|
return IDLE_SOURCE_TABLET_TOOL;
|
||||||
case WLR_INPUT_DEVICE_TABLET_PAD:
|
case WLR_INPUT_DEVICE_TABLET_PAD:
|
||||||
return IDLE_SOURCE_TABLET_PAD;
|
return IDLE_SOURCE_TABLET_PAD;
|
||||||
case WLR_INPUT_DEVICE_SWITCH:
|
case WLR_INPUT_DEVICE_SWITCH:
|
||||||
return IDLE_SOURCE_SWITCH;
|
return IDLE_SOURCE_SWITCH;
|
||||||
}
|
}
|
||||||
|
|
||||||
assert(false);
|
abort();
|
||||||
}
|
}
|
||||||
|
|
||||||
void cursor_handle_activity(struct sway_cursor *cursor,
|
void cursor_handle_activity(struct sway_cursor *cursor,
|
||||||
|
|
Loading…
Reference in a new issue