Igglybuff/scroll-experiments

Debugging the Full Scroll Dial on Arch Linux + KDE Plasma + Wayland.

★ 1Forks 0PythonGitHub ↗Compare

README

Full Scroll Dial — Linux Guide

Practical guide to getting the EngineerBo Full Scroll Dial working well on Linux.

Tested on: Arch Linux, KDE Plasma 6, Wayland, KWin, AMD GPU (WebRender). Results and settings may differ on other distros, compositors, drivers, or display servers.

The Device

Magnetic encoder + MCU. Supports both Bluetooth LE and USB HID with identical HID descriptor and report layout on both transports. Implements the HID Resolution Multiplier: 120 hi-res units = 1 standard scroll detent. No physical detents; continuous free rotation.

Property Value
VID/PID 0xFEED/0xBEEF (65261/48879 decimal)
BLE device name Full Scroll Dial
USB device name Engineer Bo Full Scroll Dial
USB polling rate 125Hz (8ms)
BLE connection interval ~15ms (~67Hz)
Encoder resolution 4096 ticks/revolution

Known Issues on Linux

Issue Fix
Large deadzone — slow rotation produces no output Build libinput from git (yay -S libinput-git on Arch) — see docs/diagnosis.md
Stepped/jerky scrolling in Firefox Set mousewheel.min_line_scroll_amount = 1
Smooth scroll still stutters Check about:support → Compositing is WebRender, not Basic
Firefox using X11 backend Set MOZ_ENABLE_WAYLAND=1 in your environment

Working Configuration (KDE Plasma, Wayland, Firefox)

Firefox about:config:

  • mousewheel.min_line_scroll_amount = 1 (default 5)
  • general.smoothScroll = true

KDE per-device settings (~/.config/kcminputrc) — see daemon/kcminputrc-snippet.ini.

Docs

docs/input-stack.md Full pipeline from encoder to browser — how each layer transforms the signal
docs/diagnosis.md How to inspect and debug each layer (evtest → libinput → Wayland → Firefox)
docs/firefox-scroll.md Firefox scroll internals, WheelEvent analysis, key about:config settings

Scripts

scripts/measure-event-rate.py Print inter-event timing and v120 values at the kernel layer
scripts/check-firefox-wheel.js DevTools console snippet — inspect deltaMode and deltaY in Firefox

Contributors

Igglybuff

Issues