Slider skips value when range is huge

I have a rotary slider with a range from 1 to 8193, the interval is 1 (integers).
When I use the scroll wheel, it increments and decrements by 5.
If I make the range smaller, the increment becomes smaller, at ranges smaller than 1000, it increments/decrements by 1.
Is this expected behaviour, and can this be changed so that the increment/decrement is always 1 ?

This is to be expected unless you have 8193 pixels between one point and the other. You can usually enter ‘fine’ tuning mode by pressing Ctrl/Cmd when dragging the mouse. And you can also control the velocity sensitivity. Check out the slider class for details. I can’t recall off the top of my head what the methods are called. If you really need your increment to be one, and only one, with a large range, you might consider writing an endless encoder widget?

The fine tuning with Ctrl/Cmd does not influence the increment.
Velocity sensitivity does not do the trick.
These things relate to the speed of the slider movement, not the resolution.
By using the up/down arrows on the keyboard I can increment/decrement by one.
And endless encoder may be a solution, but how to implement that ?

From scratch. I’d start with a simple component and start implementing mouseDrag functions until you get what you want. Then I’d move on to the UI. I’d probably grab the look and feel from the JUCE slider and work with this so I can get some kind of consistency between the components.