[GH-ISSUE #278] Cannot set any of the controls from 1 to 4, it jumps from 0 to 5 #219

Closed
opened 2026-05-05 05:26:04 -06:00 by gitea-mirror · 18 comments
Owner

Originally created by @teejay-87 on GitHub (Aug 16, 2020).
Original GitHub issue: https://github.com/MonitorControl/MonitorControl/issues/278

Originally assigned to: @waydabber on GitHub.

As per the title of the issue, on my monitor Asus MX27UC (connected on USB-C), I cannot set brightness nor contrast (nor volume) to a value from 1 to 4. The slider jumps directly from 0 to 5.

Registrazione schermo 2020-08-16 alle 23 42 17

Not sure this is related to my specific monitor or not.

Originally created by @teejay-87 on GitHub (Aug 16, 2020). Original GitHub issue: https://github.com/MonitorControl/MonitorControl/issues/278 Originally assigned to: @waydabber on GitHub. As per the title of the issue, on my monitor Asus MX27UC (connected on USB-C), I cannot set brightness nor contrast (nor volume) to a value from 1 to 4. The slider jumps directly from 0 to 5. ![Registrazione schermo 2020-08-16 alle 23 42 17](https://user-images.githubusercontent.com/17051981/90344507-bcd3f380-e01a-11ea-9574-f8b1173fa304.gif) Not sure this is related to my specific monitor or not.
gitea-mirror 2026-05-05 05:26:04 -06:00
Author
Owner

@JoniVR commented on GitHub (Sep 19, 2020):

I'm seeing this too using the sliders, I also tested it on the other end (upper limit) and seem to be having the same issue, could you test if this happens for you too?

<!-- gh-comment-id:695207543 --> @JoniVR commented on GitHub (Sep 19, 2020): I'm seeing this too using the sliders, I also tested it on the other end (upper limit) and seem to be having the same issue, could you test if this happens for you too?
Author
Owner

@teejay-87 commented on GitHub (Sep 23, 2020):

I'm seeing this too using the sliders, I also tested it on the other end (upper limit) and seem to be having the same issue, could you test if this happens for you too?

I confirm.

I would add that it's not so "minor", especially at night ;-)

<!-- gh-comment-id:697979756 --> @teejay-87 commented on GitHub (Sep 23, 2020): > I'm seeing this too using the sliders, I also tested it on the other end (upper limit) and seem to be having the same issue, could you test if this happens for you too? I confirm. I would add that it's not so "minor", especially at night ;-)
Author
Owner

@nabsher commented on GitHub (Nov 10, 2020):

I'm seeing the same issue with the volume keys from my keyboard. On my LG HDR 4K monitor the volume jumps as follow 0, 6, 13, 19, 25....etc. Can provide any output needed to help diagnose. Thanks!

<!-- gh-comment-id:724729649 --> @nabsher commented on GitHub (Nov 10, 2020): I'm seeing the same issue with the volume keys from my keyboard. On my LG HDR 4K monitor the volume jumps as follow 0, 6, 13, 19, 25....etc. Can provide any output needed to help diagnose. Thanks!
Author
Owner

@giosoftware commented on GitHub (Dec 7, 2020):

I confirm on my LG HDR 4K

<!-- gh-comment-id:739958913 --> @giosoftware commented on GitHub (Dec 7, 2020): I confirm on my LG HDR 4K
Author
Owner

@dimaqq commented on GitHub (Dec 21, 2020):

Also LG here, 32UN880-B (32-inch, 4K, with a nice arm)...
When dragging the volume slider very carefully, I can set 0, 4,5,6,7.... Which is odd but actually OK-ish for me.

What bugs me though, is if I use keyboard volume buttons, I can only set 0, 6, 13, 19, ... and on this monitor, the 6→13 is a a big jump in volume. Measured in youtubes, 6 @ 100% if roughly the same as 13 @ 20% volume.

I kind wish it was possible to remap the curve/steps (both for dragging as well as for keyboard)... or maybe find some reasonable progression that works for most monitors?

<!-- gh-comment-id:748755515 --> @dimaqq commented on GitHub (Dec 21, 2020): Also LG here, 32UN880-B (32-inch, 4K, with a nice arm)... When dragging the volume slider very carefully, I can set `0, 4,5,6,7....` Which is odd but actually OK-ish for me. What bugs me though, is if I use keyboard volume buttons, I can only set `0, 6, 13, 19, ...` and on this monitor, the `6→13` is a a big jump in volume. Measured in youtubes, `6` @ 100% if roughly the same as `13` @ 20% volume. I kind wish it was possible to remap the curve/steps (both for dragging as well as for keyboard)... or maybe find some reasonable progression that works for most monitors?
Author
Owner

@JoniVR commented on GitHub (Dec 21, 2020):

Removed comment because personal data, seemed accidental.

<!-- gh-comment-id:748808915 --> @JoniVR commented on GitHub (Dec 21, 2020): Removed comment because personal data, seemed accidental.
Author
Owner

@waydabber commented on GitHub (Aug 20, 2021):

Hey guys @teejay-87 and @JoniVR , the original issue is totally intentional, this snippet of code does this:

    let closest = (value + snapInterval / 2) / snapInterval * snapInterval
    if abs(closest - value) <= snapThreshold {
      value = closest
      slider.integerValue = value
    }

This is currently configured to snap the slider to 0, 25, 50, 75, 100 when the knob is in vicinity. It might be annoying at 0.

Question: should we get rid of this?

About the isse with some displays being way too loud too quickly, this issue will solve that whenever it is implemented: https://github.com/MonitorControl/MonitorControl/issues/310 . This could also be extended with a "gamma curve" option both for brightness and volume.

<!-- gh-comment-id:902975121 --> @waydabber commented on GitHub (Aug 20, 2021): Hey guys @teejay-87 and @JoniVR , the original issue is totally intentional, this snippet of code does this: ``` let closest = (value + snapInterval / 2) / snapInterval * snapInterval if abs(closest - value) <= snapThreshold { value = closest slider.integerValue = value } ``` This is currently configured to snap the slider to 0, 25, 50, 75, 100 when the knob is in vicinity. It might be annoying at 0. Question: should we get rid of this? About the isse with some displays being way too loud too quickly, this issue will solve that whenever it is implemented: https://github.com/MonitorControl/MonitorControl/issues/310 . This could also be extended with a "gamma curve" option both for brightness and volume.
Author
Owner

@oliversluke commented on GitHub (Aug 24, 2021):

I like the gamma curve option!

<!-- gh-comment-id:904334779 --> @oliversluke commented on GitHub (Aug 24, 2021): I like the gamma curve option!
Author
Owner

@waydabber commented on GitHub (Aug 25, 2021):

Hi all, I'll close this issue for now but please feel free to comment if there is anything we can do or if you'd like this snapping behavior to go. If the real problem is not that the slider snaps to zero or that the volume increase is too steep, I recommend following this issue:

https://github.com/MonitorControl/MonitorControl/issues/310

<!-- gh-comment-id:905694192 --> @waydabber commented on GitHub (Aug 25, 2021): Hi all, I'll close this issue for now but please feel free to comment if there is anything we can do or if you'd like this snapping behavior to go. If the real problem is not that the slider snaps to zero or that the volume increase is too steep, I recommend following this issue: https://github.com/MonitorControl/MonitorControl/issues/310
Author
Owner

@waydabber commented on GitHub (Aug 31, 2021):

I reopen this issue and will add an Advanced setting so the snapping could be turned on/off.

<!-- gh-comment-id:908947746 --> @waydabber commented on GitHub (Aug 31, 2021): I reopen this issue and will add an Advanced setting so the snapping could be turned on/off.
Author
Owner

@waydabber commented on GitHub (Sep 7, 2021):

You'll have to disable slider snapping in the upcoming 3.1.0.

See screenshots of the implementation in the v3.1.0 preliminary discussion.

<!-- gh-comment-id:914374429 --> @waydabber commented on GitHub (Sep 7, 2021): You'll have to disable slider snapping in the upcoming 3.1.0. See screenshots of the implementation in the [v3.1.0 preliminary discussion](https://github.com/MonitorControl/MonitorControl/discussions/596).
Author
Owner

@teejay-87 commented on GitHub (Sep 7, 2021):

Thanks for adding this.
Honestly I'd remove the snap at 0% and 100%.
They are totally useless, you can just drag the slider to the left or to the right.

<!-- gh-comment-id:914570027 --> @teejay-87 commented on GitHub (Sep 7, 2021): Thanks for adding this. Honestly I'd remove the snap at 0% and 100%. They are totally useless, you can just drag the slider to the left or to the right.
Author
Owner

@waydabber commented on GitHub (Sep 7, 2021):

Hi @teejay-87 - you are probably right, but this is like this for historical purposes and also its feels kinda symmetrical (?) to have snapping at the ends if you have snapping at other places. Maybe snapping should be disabled by default though.

The more important point is that for most the snapping is not the real problem but the fact that the volume and brightness curve of the display is uneven - it is common that most of the visible changes in brightness happen between 0-10% of the curve and also, the volume curve can be such that beyond 20% starts the too loud category, so the actually sensible range to deal with is the 10-20% of the slider. The snapping is problem in this context since it takes away almost a quarter of the area where the user needs fine control. This problem really could be solved by introducing a setting to have an upward opening parabola/exponential curve for brightness with a setting for a curve factor + an upper bound setting for volume (which allows the remapping of the the sensible maximum to 100%).

<!-- gh-comment-id:914593358 --> @waydabber commented on GitHub (Sep 7, 2021): Hi @teejay-87 - you are probably right, but this is like this for historical purposes and also its feels kinda symmetrical (?) to have snapping at the ends if you have snapping at other places. Maybe snapping should be disabled by default though. The more important point is that for most the snapping is not the real problem but the fact that the volume and brightness curve of the display is uneven - it is common that most of the visible changes in brightness happen between 0-10% of the curve and also, the volume curve can be such that beyond 20% starts the too loud category, so the actually sensible range to deal with is the 10-20% of the slider. The snapping is problem in this context since it takes away almost a quarter of the area where the user needs fine control. This problem really could be solved by introducing a setting to have an upward opening parabola/exponential curve for brightness with a setting for a curve factor + an upper bound setting for volume (which allows the remapping of the the sensible maximum to 100%).
Author
Owner

@foss- commented on GitHub (Sep 8, 2021):

Naive question: Besides the question of snapping, why not allow users to use the increments the external monitor offers to increase | decrease volume using the hardware volume control keys?

Snapping is one aspect but the curve and points on curve used is the other factor. And while we can discuss changing the curve, for me, the issue would be solved if I could just use the increments used by the external monitor one by one, which currently is not possible, making volume control hard to use with unsatisfactory results in the lower volume percentages where fine grained control really is needed (as explained by you above).

<!-- gh-comment-id:915004374 --> @foss- commented on GitHub (Sep 8, 2021): Naive question: Besides the question of snapping, why not allow users to use the increments the external monitor offers to increase | decrease volume using the hardware volume control keys? Snapping is one aspect but the curve and points on curve used is the other factor. And while we can discuss changing the curve, for me, the issue would be solved if I could just use the increments used by the external monitor one by one, which currently is not possible, making volume control hard to use with unsatisfactory results in the lower volume percentages where fine grained control really is needed (as explained by you above).
Author
Owner

@waydabber commented on GitHub (Sep 8, 2021):

hi @foss- , you can already do that by pressing shift+option+volume up/down! You are right in that this feature is not heavily promoted... :)

<!-- gh-comment-id:915024045 --> @waydabber commented on GitHub (Sep 8, 2021): hi @foss- , you can already do that by pressing shift+option+volume up/down! You are right in that this feature is not heavily promoted... :)
Author
Owner

@JoniVR commented on GitHub (Sep 8, 2021):

An easy fix for this that I've seen mentioned before would be a setting where +1 increments are the default (basically reversing how it works)

<!-- gh-comment-id:915452462 --> @JoniVR commented on GitHub (Sep 8, 2021): An easy fix for this that I've seen mentioned before would be a setting where +1 increments are the default (basically reversing how it works)
Author
Owner

@waydabber commented on GitHub (Sep 8, 2021):

We could add such a setting in the Keyboard pane under Preferences (as with the menu items in 3.1.0 a new Menu tab was needed, for keyboard customization and other keyboard related stuff we should reintroduce Keyboard pane).

I added it as a new Feature Request here: https://github.com/MonitorControl/MonitorControl/issues/571 :)

<!-- gh-comment-id:915462868 --> @waydabber commented on GitHub (Sep 8, 2021): We could add such a setting in the Keyboard pane under Preferences (as with the menu items in 3.1.0 a new Menu tab was needed, for keyboard customization and other keyboard related stuff we should reintroduce Keyboard pane). I added it as a new Feature Request here: https://github.com/MonitorControl/MonitorControl/issues/571 :)
Author
Owner

@waydabber commented on GitHub (Sep 10, 2021):

Fine control for volume option is now added - see #571

<!-- gh-comment-id:916640117 --> @waydabber commented on GitHub (Sep 10, 2021): Fine control for volume option is now added - see #571
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/MonitorControl#219
No description provided.