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)