commit 8cdcb77e12bf9c52fb51ce9a7da7e6a850fa5a37
parent 6da1631090d29b11c068b930a392a86dd207be4f
Author: Brian Ashworth <bosrsf04@gmail.com>
Date: Thu, 28 May 2020 20:56:28 -0400
seat_cmd_cursor: emit frame events
This emits frame events for the seat_cmd_cursor subcommands. The
wl_pointer frame event are required to notify clients when to process
the events. It will now be emitted after cursor movement, button press,
button release, and axis events.
Diffstat:
1 file changed, 4 insertions(+), 0 deletions(-)
diff --git a/sway/commands/seat/cursor.c b/sway/commands/seat/cursor.c
@@ -24,6 +24,7 @@ static struct cmd_results *handle_command(struct sway_cursor *cursor,
int delta_y = strtol(argv[2], NULL, 10);
wlr_cursor_move(cursor->cursor, NULL, delta_x, delta_y);
cursor_rebase(cursor);
+ wlr_seat_pointer_notify_frame(cursor->seat->wlr_seat);
} else if (strcasecmp(argv[0], "set") == 0) {
if (argc < 3) {
return cmd_results_new(CMD_INVALID, expected_syntax);
@@ -33,6 +34,7 @@ static struct cmd_results *handle_command(struct sway_cursor *cursor,
float y = strtof(argv[2], NULL) / root->height;
wlr_cursor_warp_absolute(cursor->cursor, NULL, x, y);
cursor_rebase(cursor);
+ wlr_seat_pointer_notify_frame(cursor->seat->wlr_seat);
} else {
if (argc < 2) {
return cmd_results_new(CMD_INVALID, expected_syntax);
@@ -117,10 +119,12 @@ static struct cmd_results *press_or_release(struct sway_cursor *cursor,
.delta_discrete = delta
};
dispatch_cursor_axis(cursor, &event);
+ wlr_seat_pointer_notify_frame(cursor->seat->wlr_seat);
return cmd_results_new(CMD_SUCCESS, NULL);
} else if (!button) {
return cmd_results_new(CMD_INVALID, "Unknown button %s", button_str);
}
dispatch_cursor_button(cursor, NULL, 0, button, state);
+ wlr_seat_pointer_notify_frame(cursor->seat->wlr_seat);
return cmd_results_new(CMD_SUCCESS, NULL);
}