sezanzeb / input-remapper

🎮 ⌨ An easy to use tool to change the behaviour of your input devices.
GNU General Public License v3.0
3.82k stars 158 forks source link

Feature Request : Additional mouse acceleration curves #906

Open TheOverpassArsonist opened 4 months ago

TheOverpassArsonist commented 4 months ago

I'm trying to tweak a mouse acceleration profile for my trackball but I'm having issues (particularly in games) with fast movement going too far, but the default exponential curve doesn't allow me to fix that without lowering the responsiveness to slower movements.

On windows there is a tool called Rawaccel which has a lot of support for custom acceleration profiles and, given Input Remapper already has all of the things in place to create custom acceleration profiles, I was curious if it would be possible to add support for additional acceleration functions. I know that Input Remapper isn't intended to be a tool for custom mouse acceleration profiles, but given it already can manage an exponential curve it seems like the hard part would be done already. (granted, I'm speaking as a complete outsider here) It already has all of the logic in place to apply a custom acceleration function to mouse movements, so in theory (again, speaking as a complete outsider) the only barrier would be adding other acceleration functions.

I know that (as per #853) there isn't much active development happening anymore, but I feel like this has the potential of being a really simple addition if my (again) surface level understanding of things is right. This is especially so since #853 says offhand that Input Remapper was written with a lean on dependency injection, which is especially good at these sorts of swap-in changes and customization.

I'd appreciate someone with a bit more knowledge taking a look at how easily this would be doable because, while I've done a bit of python myself, I'm not very confident in my abilities to implement this. I might give it a shot eventually, but this feels like a very performance-critical use case and I just don't think I know enough about python for any implementation I make to be usably performant. (especially in games)

jonasfrey commented 3 weeks ago

so is there even mouse acceleration ?