I am using AutoHotKey to add hotkeys to slither.io. In this game player has two inputs:
Mouse click events (hold down LMB, release LMB, press RMB)
The direction to mouse pointer from center of the screen (note that on 1920x1080 screen mouse coordinates {0,540} and {480,540} have the same effect because the direction is the same).
In vanilla version player can just use mouse alone. Assigning "d" to LMB and "f" to RMB helps a lot because it is a lot harder to precisely move pointer while holding LMB down. Second step would be to bind mouse position to a keyboard. Slow, but precise positioning -> use mouse. Fast, but inaccurate positioning - use keyboard.
I've experimented with several setups. "WASD" isn't accurate enough. "WERSFXCV" allows for 8 directions and is quite natural. However, I ran out of fingers for LMB and RMB. Plus, I have unused "D".
What is the best way to precisely control the direction with a keyboard and have two more hotkeys for acceleration and slowing down?
LMB = Left mouse button
RMB = Right mouse button