From 16466b5354383d0876171b11acf92fdbe665e9da Mon Sep 17 00:00:00 2001 From: Lukas Jiriste Date: Fri, 26 Apr 2024 11:30:07 +0200 Subject: [PATCH] Add controls to stop color shift Also change detection of XK_KP keys to also include the numbered variants. I'm not sure why numlock has no effect on the keycode but I think this way it is more portable. --- src/event_handling.c | 9 ++++++--- src/trans_view.c | 6 +++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/event_handling.c b/src/event_handling.c index 98f2aac..b51097e 100644 --- a/src/event_handling.c +++ b/src/event_handling.c @@ -6,7 +6,7 @@ /* By: ljiriste +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/12/05 19:35:01 by ljiriste #+# #+# */ -/* Updated: 2024/04/26 11:02:11 by ljiriste ### ########.fr */ +/* Updated: 2024/04/26 11:24:51 by ljiriste ### ########.fr */ /* */ /* ************************************************************************** */ @@ -49,12 +49,15 @@ static void additional_keys(int keycode, t_session *s) set_for_redraw(s); } } - else if (keycode == XK_KP_Up) + else if (keycode == XK_KP_Up || keycode == XK_KP_8) change_shift_speed(&s->view.color_shift_speed, SHIFT_MULT, SHIFT_THRESH); - else if (keycode == XK_KP_Down) + else if (keycode == XK_KP_Down || keycode == XK_KP_2) change_shift_speed(&s->view.color_shift_speed, -SHIFT_MULT, SHIFT_THRESH); + else if (keycode == XK_KP_Insert || keycode == XK_KP_0) + change_shift_speed(&s->view.color_shift_speed, 0, SHIFT_THRESH); + return ; } int handle_key_press(int keycode, t_session *s) diff --git a/src/trans_view.c b/src/trans_view.c index d813ff1..7d4d97a 100644 --- a/src/trans_view.c +++ b/src/trans_view.c @@ -6,7 +6,7 @@ /* By: ljiriste +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/04/26 10:40:31 by ljiriste #+# #+# */ -/* Updated: 2024/04/26 11:06:57 by ljiriste ### ########.fr */ +/* Updated: 2024/04/26 11:29:08 by ljiriste ### ########.fr */ /* */ /* ************************************************************************** */ @@ -93,11 +93,11 @@ void change_shift_speed(double *speed, double mult, double thresh) *speed = -thresh; return ; } - if (*speed > 0 && mult > 0) + if (*speed > 0 && mult >= 0) *speed *= mult; else if (*speed > 0 && mult < 0) *speed /= -mult; - else if (*speed < 0 && mult < 0) + else if (*speed < 0 && mult <= 0) *speed *= -mult; else if (*speed < 0 && mult > 0) *speed /= mult; -- 2.30.2