NaturalEdgePan
TPMouse
NaturalEdgePan | TPMouse | |
---|---|---|
8 | 14 | |
6 | 95 | |
- | - | |
10.0 | 10.0 | |
about 1 year ago | 7 months ago | |
AutoIt | AutoIt | |
GNU General Public License v3.0 only | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
NaturalEdgePan
-
Somehow AutoHotKey is kinda good now
AutoIt is also great especially for quickly prototyping GUIs.
I recently built a proof-of-concept for a modernized method of interacting with RTS cameras[0], which unfortunately could not be achieved with frameworks like SDL due to their abstraction obscuring some of the native OS functions needed to create my idea.
Using AutoIt lets me basically just treat it as a minimal-boilerplate sandbox to make DllCalls. This also means that I could directly listen as well as post raw device messages. For example, I implemented an inertia-based cursor script that basically lets you use your homerow vim keys like it's a trackball[1], which I now use everyday whenever I'm not with my ThinkPad.
[0] https://github.com/EsportToys/NaturalEdgePan
-
WW2 Plotters of the Royal Air Force
I came across this very interesting bit of history while looking for an image to illustrate my RTS camera control concept[0] as an analogy.
It's interesting how a lot of the wartime "computational drudgery" frequently employ women, the perception of which shifted to becoming a more men-dominated employment after the war.
It would be lovely to hear interesting perspectives from people here on what other tidbits you know of about little-known roles and the social climate during the war, or your insights on how things came to be the way they are during and after the war.
[0] https://github.com/EsportToys/NaturalEdgePan#figure-2-this-w...
-
A more natural way of controlling RTS cameras (explanation & playable prototype in comments)
So I made this prototype, to show how I think new-players can be encouraged to use unlocked camera more effectively -- I think the main friction is less about traditional edge-panning being inefficient, and more about it being accident-prone: players acquiring mouse precision at the same time as learning the game finds themselve accidentally panning the camera when the cursor is close to the edge, so early on they develop a bad habit of leaving a wide space for where you are clicking rather than developing the motor control to kite with the cursor close to the screen-edge and hero.
-
A more natural way of controlling RTS cameras
A playable demo downloadable from GitHub
- Modernizing the RTS camera control scheme
-
My prototype showing how League's camera can be controlled more naturally (w/ instructions to implement it -- GitHub link in comments)
You can feel it out in the playable demo here!
-
My prototype showing how League's camera can be controlled more naturally (w/ instructions for devs to implement it -- GitHub link in comments)
NaturalEdgePan
TPMouse
-
Turning a Keyboard into a Mouse with Libevdev
And for Windows, my https://github.com/esporttoys/TPMouse was inspired by warpd itself but focuses more on the intuitive usability of direct cursor control via inertia/momentum.
-
Cosmic Skies of a Colorado July
You may be interested in how I did my Windows script for adding three-finger drag[0].
Basically, it is an independent subscriber to RawInput messages that only keeps track of whether or not to send three-finger drag, and posts emulated mouse messages using SendInput. I have a few other scripts that each run as independent userland processes that only monitors their own trigger and nothing else.
Tangentially, not sure if this might serve for some inspiration, but my TPMouse[1] script implemented inertia in a framerate-independent way so that it uses very little resource while having perfect simulation stability.
A previous discussion where I explained the analytic derivation for this low-resource exact-solution damped inertia can be seen in [10]
[0] https://github.com/EsportToys/PrecisionThreeFingerDrag/blob/...
[1] https://github.com/EsportToys/TPMouse
[10] https://old.reddit.com/r/Trackballs/comments/ym9q2t/tpmouse_...
-
Toward a More Useful Keyboard
With the TPMouse script I implemented the activation shortcut as LShift+RShift+ which I felt had a nice balance between deliberateness and easy-to-reach (since you are using it with your hands on homerow).
Though because some keyboards have key rollover issues with using both Shifts, Capslock+ is also allowed as an alternative activation shortcut.
[0] https://github.com/EsportToys/TPMouse
- Somehow AutoHotKey is kinda good now
- The ThinkPad TrackPoint tried to build a better mouse (2020)
-
AutoHotKey V2 (Breaking Upgrade)
I personally use AutoIt a ton as a super fast way to quickly prototype GUIs. It's basically a really simple entrypoint for WinAPI.
Shameless plug: my script for emulating a trackball with your keyboard [0], and my tray app for quickly tweaking your cursor speed (usually for when I'm drawing something)[1]
[0] https://github.com/EsportToys/TPMouse
- TPMouse - A virtual trackball for Windows
- Show HN: A Virtual Trackball for Windows, controlled from the homerow
- TPMouse - a virtual trackball for windows, controlled from your keyboard homerow.
What are some alternatives?
Fluent-Search - Official repository for Fluent Search, use to report issues or ask for a new feature
scoot - Keyboard-driven MacOS cursor actuator
autopilot-rs - A simple, cross-platform GUI automation module for Rust.
AhkCoordGrid - AutoHotkey code for Windows overlay grid allowing you to emulate mouse click at different points on the screen using keyboard shortcuts
whkd - A simple hotkey daemon for Windows
warpd - A modal keyboard-driven virtual pointer
autopy - A simple, cross-platform GUI automation module for Python and Rust.
Flow.Launcher - :mag: Quick file search & app launcher for Windows with community-made plugins
xdo - Small X utility to perform elementary actions on windows
MouseTray - Simple tray app to quickly adjust Windows cursor speed.