From ba836bfc900c88b36ccf59ab97da9d6ab10f2dda Mon Sep 17 00:00:00 2001 From: Raheman Vaiya Date: Wed, 12 Mar 2025 20:23:02 -0400 Subject: [PATCH] core: Add experimental scrollon() and scrolloff() actions --- src/config.c | 2 ++ src/config.h | 2 ++ src/keyboard.c | 8 ++++++++ 3 files changed, 12 insertions(+) diff --git a/src/config.c b/src/config.c index 74383aa..0a4a1c9 100644 --- a/src/config.c +++ b/src/config.c @@ -69,6 +69,8 @@ static struct { { "setlayout", NULL, OP_LAYOUT, { ARG_LAYOUT } }, /* Experimental */ + { "scrollon", NULL, OP_SCROLL_TOGGLE_ON, {ARG_SENSITIVITY} }, + { "scrolloff", NULL, OP_SCROLL_TOGGLE_OFF, {} }, { "scrollt", NULL, OP_SCROLL_TOGGLE, {ARG_SENSITIVITY} }, { "scroll", NULL, OP_SCROLL, {ARG_SENSITIVITY} }, diff --git a/src/config.h b/src/config.h index 0d77832..c108acf 100644 --- a/src/config.h +++ b/src/config.h @@ -49,6 +49,8 @@ enum op { OP_TIMEOUT, /* Experimental */ + OP_SCROLL_TOGGLE_ON, + OP_SCROLL_TOGGLE_OFF, OP_SCROLL_TOGGLE, OP_SCROLL, }; diff --git a/src/keyboard.c b/src/keyboard.c index f54c623..546e985 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -547,6 +547,14 @@ static long process_descriptor(struct keyboard *kbd, uint8_t code, else kbd->scroll.active = 0; break; + case OP_SCROLL_TOGGLE_ON: + kbd->scroll.sensitivity = d->args[0].sensitivity; + kbd->scroll.active = 1; + break; + case OP_SCROLL_TOGGLE_OFF: + if (pressed) + kbd->scroll.active = 0; + break; case OP_SCROLL_TOGGLE: kbd->scroll.sensitivity = d->args[0].sensitivity; if (pressed)