Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a wheel scroll sensitivity setting to customize wheel scrolling experience #3975

Open
jmb462 opened this issue Feb 15, 2022 · 2 comments

Comments

@jmb462
Copy link

jmb462 commented Feb 15, 2022

Describe the project you are working on

A puzzle game with quite long scripts.

Describe the problem or limitation you are having in your project

When scrolling with mouse wheel in long scripts / output logs, the scrolling speed is sometimes too slow and we need a lot of wheel turns to go to the desired line.

Operating system wheel mouse sensitivity adjustements has no effect in Godot.

Script editor partially solve this problem allowing to speed up (x5) scrolling using Alt key modifier.
But we have just the choice between the default 3 lines per wheel tick or 15 lines per wheel tick with Alt.
This Alt trick only concerns TextEdit not all other scrollable areas in editor (which can be based on ItemList, Tree, RichTextLabel and ScrollContainer).

There is a text_editor/behavior/navigation/v_scroll_speed setting concerning the smooth scrolling behaviour which could be misleading (see #56317). This parameter only deals with the speed which the textedit catch up its late on long scrolling. It doesn't change the number of line changed by a wheel tick.

Describe the feature / enhancement and how it helps to overcome the problem or limitation

I propose to add a new editor property : interface/editor/wheel_scroll_sensibility.

This property will act on all scrollable elements : TextEdit, ItemList, Tree, RichTextLabel, ScrollContainer and ScrollBar.

These nodes will have a new property int wheel_scroll_sensibility = 3;
Default is set to 3 because, currently, the hardcoded number of lines per wheel tick is 3.
It ensure that by default, the scroll speed in those nodes stay the same as now.

Editor elements will read the new editor settings and adapt the wheel scroll speed of scrollables areas.

I although suggest to add the Alt x5 speed up trick to those nodes.

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

I've already done a first working implementation : jmb462/godot@d4988bf

I would open a PR if this proposal meets community interest.

In Editor, those areas will benefits from the wheel sensitivity customization and Alt speed up trick.

image

If this enhancement will not be used often, can it be worked around with a few lines of script?

This enhancement would allow to get better experience in editor to those who want to customize their scrolling speed.
May also be an accessibility improvement.
It cannot be worked around.

Is there a reason why this should be core and not an add-on in the asset library?

It modifies core nodes and core editor parts.

@Torguen
Copy link

Torguen commented Sep 26, 2022

I would only want more speed for the script editor, with the other sections I'm fine and I don't need to change the speed, plus I think it would hurt me.

@Calinou
Copy link
Member

Calinou commented Sep 26, 2022

I would only want more speed for the script editor, with the other sections I'm fine and I don't need to change the speed, plus I think it would hurt me.

Consider disabling smooth scrolling in the Editor Settings, as it generally contributes to the sensation of slow scrolling in my experience.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants