Skip to content

Conversation

@NeoTheFox
Copy link
Contributor

Add two options:
mouse_mod - sets a linear acceleration for the emulated mouse
invert_scroll - inverts the scrolling direction for the emulated mouse

Hopefully it helps to make the pointer more consistent across multiple devices.

Previously discussed in #339

@feschber
Copy link
Owner

feschber commented Nov 1, 2025

There is one more thing:

Since we are making changes to the configuration, we should think about the names a bit more.
I'd prefer these options to be under a different section and name them a bit differently like this:

# transformations applied to input events received from other devices
[event_post_processing]
mouse_sensitivity = 1.0
invert_scroll = true

This would later enable a similar section for event pre transformations (when being sent to other devices):

# transformations applied to input events sent to other devices
[event_pre_processing]
mouse_sensitivity = 1.0
# linear_acceleration_factor = 1.2
# scroll_sensitivity = 0.3
invert_scroll = false

Maybe you can come up with some better names, but I find mouse_mod a bit indescriptive and would prefer sensitivity here.

@feschber
Copy link
Owner

feschber commented Nov 1, 2025

Maybe input_post_processing would be a better name.

@NeoTheFox
Copy link
Contributor Author

Wouldn't a simple input suffice?

@feschber
Copy link
Owner

feschber commented Nov 1, 2025

Not if we want to add pre processing later on

@NeoTheFox
Copy link
Contributor Author

That's fair. Done and done.

@NeoTheFox
Copy link
Contributor Author

A note on my formatter - my cargo version is
cargo 1.90.0 (840b83a10 2025-07-30) (Arch Linux rust 1:1.90.0-4.1)
If the linter is mandatory I implore you to consider adding a clear .rustfmt.toml to the repository, as my version sees no issues here and forces the problematic line into that format.

@feschber
Copy link
Owner

feschber commented Nov 1, 2025

A note on my formatter - my cargo version is cargo 1.90.0 (840b83a10 2025-07-30) (Arch Linux rust 1:1.90.0-4.1) If the linter is mandatory I implore you to consider adding a clear .rustfmt.toml to the repository, as my version sees no issues here and forces the problematic line into that format.

I have the same version and it did complain about the formatting when running cargo fmt --check.

Would you mind opening a separate PR for the rust-fmt.toml (I'm not against that)

@feschber feschber force-pushed the mouse-configuration branch from 5497c68 to c047a51 Compare November 2, 2025 11:03
@feschber
Copy link
Owner

feschber commented Nov 2, 2025

Ah one last thing: The input_post_processing section in the config should also be optional, not just the individual settings.

@feschber
Copy link
Owner

feschber commented Nov 2, 2025

Oh (in case you are unaware): The dynamic updates to the sensitivity and scrolling inversion do not work. You are passing the values to the EmulationProxy but not from there to the actual input-emulation.

@feschber
Copy link
Owner

feschber commented Nov 2, 2025

If you don't want to do it, I can fix it myself as well.

@NeoTheFox
Copy link
Contributor Author

I'll probably only be able to get back to this on the weekends, so if it's a quick fix - up to you. I'll do it myself in a few days otherwise

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants