Deleted unused variable assignment.
As long as the return value of the hotkey commands is being ignored (as they probably shouldn't be), don't bother storing them
Explicitly cast packet string size to long unsigned int to resolve warning
Modified example conf file setup to match project directories
Using sensible-editor instead of gedit a for prefs
because gedit isn't available by default in Raspbian.
Using gnome-text-editor instead of sensible-editor
Revert to traditional mouse y scroll direction
Do not wait for pref edits; must restart manually.
The preferences menu simply opens config file. Don't do anything tricky like block and restart the server after it's been edited.
Disable mouse "smoothing" in default/sample config
It's herky jerky and frustratingly difficult to click small UI elements with "smoothing" enabled. With it off, cursor motion is certainly much slower, but far easier to control with precision. Best solution would be a more sophisticated smoothing/acceleration algorithm. (If acceleration is to be applied on the basis of a single conditional, it should be raw distance since last move, not time since last packet, since you may be sending updates continuously for attempted slow precise manipulation.)
Remove cruft files
Revert to original apt-get-based dependency getter
Draft revision of mouse acceleration
Let's call it accelaration, not smoothing. As noted, should consider time since last motion after all in assessing rate
Revised mouse acceleration logic; now based on cursor speed
(not just time or distance since last MOVE, neither of which is sufficient alone)
User-configurable mouse acceleration speed/factor
Include mouse acceleration in sample conf file
Added support for horizontal scrolling.
Kind of a freebie - the mobile app is already sending x scroll info, and the server code even picks it out when parsing scroll packets. Just a matter of generating corresponding left and right scroll button events.
Made horizontal scrolling optional; off by default
Made [maximum] scroll speed configurable
scrollMax option puts a cap on how many scroll-key events can be issued per scroll motion. Scroll motion events come with pixel offsets, but treating each offset unit as a separate "scroll key" event yields whiplash-fast scrolling. Default scrollMax of 1 may be too conservative for some but feels usable to me.
Removed unused scroll packet pattern
Floating point variant marked for "free mouse mode" was never invoked, regardless of mobile mouse app mode. Presumably older versions used a slightly different protocol with floating point offsets for free mouse mode. Now, both free mouse and trackpad mode use integer scroll motion offsets.
https://github.com/anoved/mmserver/commit/46d0b88b2f8de26bf03a9504c8926ae6a6c36ab7#commitcomment-4018459
Do not quit if config file cannot be found; use defaults
(Unless the user specified config file path explicitly, in which case failure to find it should still be considered an error.) Addresses #3.
Avahi zeroconf networking now optional
via the boolean `zeroconf` config variable