# Trackball scroll toggle

**URL:** <https://forum.clockworkpi.com/t/trackball-scroll-toggle/19427>\
**Category:** uConsole\
**Created:** [August 26, 2025, 11:21am UTC](https://forum.clockworkpi.com/t/trackball-scroll-toggle/19427 "2025-08-26T11:21:53Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![sacred.goose](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/sacred.goose/32/8403_2.png) [@sacred.goose](https://forum.clockworkpi.com/u/sacred.goose)\
**Post date:** [August 26, 2025, 11:21am UTC](https://forum.clockworkpi.com/t/trackball-scroll-toggle/19427/1 "2025-08-26T11:21:53Z")

</div>

So I flashed my keyboard firmware with the [provided tool](https://github.com/clockworkpi/uConsole/wiki/Simple-uConsole-keyboard-flashing-tool) and it’s very nice to have fn+trackball to scroll and volume works as expected. But for my project I’d like to have trackball to be permanently in scroll mode without needing to hold fn. What would be my steps to achieve that? Something like fn+s to set the scroll mode and again fn+s to turn it off.

Ideally I’d wish to have this feature turned off/on. I tried [keyd](https://github.com/rvaiya/keyd) daemon but remapping fn key isn’t possible with it. So I guess my only option is custom firmware.

---

<div class="post-metadata">

**Author:** ![white-round-square](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/white-round-square/32/10385_2.png) [@white-round-square](https://forum.clockworkpi.com/u/white-round-square)\
**Post date:** [August 26, 2025, 11:28am UTC](https://forum.clockworkpi.com/t/trackball-scroll-toggle/19427/2 "2025-08-26T11:28:21Z")

</div>

check [QMK firmware for uConsole keyboard](https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410)

may be it has it, if not it should be simple to add

---

<div class="post-metadata">

**Author:** ![sacred.goose](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/sacred.goose/32/8403_2.png) [@sacred.goose](https://forum.clockworkpi.com/u/sacred.goose)\
**Post date:** [August 26, 2025, 12:01pm UTC](https://forum.clockworkpi.com/t/trackball-scroll-toggle/19427/3 "2025-08-26T12:01:29Z")

</div>

Thanks. I’m a bit wary of it due to errors reported on that thread. I’d give it a go, but there are no docs to understand if it even does what I want.

---

<div class="post-metadata">

**Author:** ![white-round-square](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/white-round-square/32/10385_2.png) [@white-round-square](https://forum.clockworkpi.com/u/white-round-square)\
**Post date:** [August 26, 2025, 12:18pm UTC](https://forum.clockworkpi.com/t/trackball-scroll-toggle/19427/4 "2025-08-26T12:18:40Z")

</div>

> [@sacred.goose](#):
>
> there are no docs to understand if it even does what I want.

best luck: [qmk\_firmware/keyboards/clockworkpi/uconsole at uconsole · oesmith/qmk\_firmware · GitHub](https://github.com/oesmith/qmk_firmware/tree/uconsole/keyboards/clockworkpi/uconsole)

you need somehow toggle this variable, but I have no idea how to do it:

> <https://github.com/oesmith/qmk_firmware/blob/uconsole/keyboards/clockworkpi/uconsole/trackball.c#L107>

---

<div class="post-metadata">

**Author:** ![OE4DNS](https://avatars.discourse-cdn.com/v4/letter/o/85f322/32.png) [@OE4DNS](https://forum.clockworkpi.com/u/OE4DNS)\
**Post date:** [August 28, 2025, 4:45pm UTC](https://forum.clockworkpi.com/t/trackball-scroll-toggle/19427/5 "2025-08-28T16:45:14Z")

</div>

I’m one of the people experiencing said errors and still don’t really know why. But I was always able to recover so don’t be too afraid.

QMK firmware works as promised, although I also could not figure out how to create my own settings so there’s that…

---

<div class="post-metadata">

**Author:** ![white-round-square](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/white-round-square/32/10385_2.png) [@white-round-square](https://forum.clockworkpi.com/u/white-round-square)\
**Post date:** [August 28, 2025, 5:54pm UTC](https://forum.clockworkpi.com/t/trackball-scroll-toggle/19427/6 "2025-08-28T17:54:38Z")

</div>

> [@OE4DNS](#):
>
> although I also could not figure out how to create my own settings so there’s that…

1. clone repo
2. create your own layer : [qmk\_firmware/keyboards/clockworkpi/uconsole/keymaps/default/keymap.c at uconsole · oesmith/qmk\_firmware · GitHub](https://github.com/oesmith/qmk_firmware/blob/uconsole/keyboards/clockworkpi/uconsole/keymaps/default/keymap.c#L34-L78)
3. select button to toggle it (TG()): [qmk\_firmware/keyboards/clockworkpi/uconsole/keymaps/default/keymap.c at 9e88dc23fce980d31b0a557f28e97e86966fa01f · oesmith/qmk\_firmware · GitHub](https://github.com/oesmith/qmk_firmware/blob/9e88dc23fce980d31b0a557f28e97e86966fa01f/keyboards/clockworkpi/uconsole/keymaps/default/keymap.c#L58)
4. compile: [qmk\_firmware/keyboards/clockworkpi/uconsole/readme.md at uconsole · oesmith/qmk\_firmware · GitHub](https://github.com/oesmith/qmk_firmware/blob/uconsole/keyboards/clockworkpi/uconsole/readme.md)
5. flash to keyboard
