Neverclick: Desktop application for performing mouse actions with your keyboard
github.com
github.com
I know, because I wanted to automate a GUI task using PyAutoGUI and it wouldnt work on wayland no matter what.
Wayland isn't an eternal punishment, it's just a protocol. :p
I personally use wl-kbptr, and the problem above is the only one that can't be solved without explicit support from the compositor.
I often try a session with Labwc/LxQt instead of my Openbox/LxQt, and while there is progress, still not fully usable, so still no Wayland for me. But with X11, I can at least add xvfb, xdotool, and other utils, and AI has no problem writing (and testing) a GUI for me.
So in the sense as far as I understand it is that in wayland one application is not allowed to use the input of IO devices to interact with other applications.
(This is partially an assumption on my part as I currently don't have an unrestricted Windows machine to verify, but considering the non-functional button and "download on Windows" message it displays it seemed safe to assume)
Who that is I don't know as it is not displayed anywhere on the website and the the github repo is published by "LazoVelko". Who this is I don't know either. For all I know they are a russian hacker and a future version of this software is going to add an exploit. That is why you should probably think twice about downloading and installing software published by an anonymous person without the source code being available.
I'm not anonymous, this is my name irl.
Neverclick is digitally signed with Microsoft Trusted Signing (now known as Azure Artifact Signing). I had to send them my personal information like my address and ID to get my identity verified so that I'd get approved for it. Additionally, Neverclick doesn't require admin privileges to run, and it works completely offline so you can block it via firewall and it'll work just fine.
Is there anything else I can say or do to put your mind at ease?
And they still have a repository with the code available as well, so it doesn't mislead anyone into believing that they are source available or open source: https://github.com/Keypirinha/Packages
Hint mode as a feature being able to click all active links on the screen is great and very useful.
Two features I've added recently that have made never using a mouse much more feasible:
1. Search mode - Search for any text on the page, jump to it and then use vim keybindings to select text from there and copy => I use this 20+ times a day
2. Scroll mode - Any scroll area on the page is highlighted with a hint, but when selected it clicks the scroll area and allows you to use keybindings like j/k/gg/G to scroll up and down. I loved this from vimium and wanted to everywhere
Feel free to steal those :)
When Neverclick generates the key combinations, it prioritizes keys in the center of the keyboard. It then sorts the key combinations from most to least convenient (so for example JJ and FF would be at the top of the list). It then assigns the most convenient key combinations to UI elements closest to the center of the screen because that's where people are most likely to want to perform a mouse action.
As the other commenter already said, with dynamic data, you can't really make things repeatable. However, it's still really cozy to use and way better than if it were randomly generated and assigned (which is how it used to work before it was updated to the new system).
I've trialed a handful of these mouse-less programs before and I always run into the same hurdles.
E.g. where one or more of my apps have sliders which I can't interact with using clicks instead of drags (so I can't interact with it at all), or needing to click things like my MacOS dock, or even resize a window.
I've had a poor experience with accessibility apis, they're clunky, slow, and unpredictable, and as you said many apps aren't built with accessibility in mind. With computer vision you don't have to worry about that.
This might sound strange, but the cv system in Neverclick actually runs significantly faster than UI Automation (which is the accessibility api on windows) in nearly all of my personal tests. I can't believe that accessibility apis are so poorly optimized that raw pixel analysis is faster lol. Also, I have users that use Neverclick on 10 year old hardware and they tell me that the cv runs instantly whereas UI Automation is super laggy for them.
Also, accessibility apis typically don't give you useful bounding boxes for text in text editors, this is another advantage of the cv approach.
I really wish the title of the post was "Desktop application for performing mouse actions with your keyboard using computer vision" so that it's more obvious that it uses cv, although it's my fault since the current title is how I have it in the readme and they probably just copied that.
- Fake commit history
- No source code, despite being hosted on github
- Windows-only binaries available for download
If I weren't on my work computer I would pull down those binaries to see what is in them. It sure smells fishy.
Neverclick is digitally signed with Microsoft Trusted Signing (now known as Azure Artifact Signing). I had to send them my address and ID to get my identity verified so that I'd get approved for it.
Is there anything else I can do to put your mind at ease?
If this is intended to be an open source project, transparency would go a long way. The source code and actual history will make a big difference. If this is not intended to be an open source project, then hosting it on a source control system is misleading.
Not releasing source code is fine, but then you need to build trust. Is it paid software? Is there a company or a known name behind it (in which case, can you host it on that entity's website)? At minimum, toss up a website that describes what the software does, what the usage terms are, and whether it collects information about user systems and/or uploads data anywhere. Bonus, scan it with Windows Defender and a couple other malware scanners. Advertise that it scans clean.
Ok, how does it use CV? This is not explained. Does it track eye movements? Do I need a webcam, or two?
Github has no source code.
Pass for me.
This is so very sketchy.