Comments (9)
Hello,
I believe every OS has a limit to how fast it can receive events, and this is probably what you're running into.
Have you tried putting a delay between the two clicks?
I will probably add some support for a built in configurable delay at some point to help with this.
from robotjs.
#14 is related, I'll try to do some testing today.
from robotjs.
I haven't had any luck putting a delay between the clicks unfortunately.
I'm triggering the events over a websocket server but I doubt that has anything to do with it
Hope you have more luck!
Cheers, Thijs
from robotjs.
I've done some testing and you're right, setting a delay doesn't work! It looks like some additional code is needed to double click on Mac, I'll work on getting this implemented now!
from robotjs.
Thanks man, I'll be happy to help testing after!
from robotjs.
Using the code from here:
Specifically CGEventSetIntegerValueField
I was able to get double click working in at least one app, but it doesn't work in Finder or Google Chrome. It's very strange. If you'd like to test, check out the doubleclick branch.
I've added a second parameter to mouseClick, so robot.mouseClick("left", true);
does a double click. I'll keep working on it.
from robotjs.
Sorry I've moved on to another project now and don't have much time at the moment.
Just thinking that with this implementation you'd have to set some kind timer after a click to wait for a possible double-click before triggering the mouse click event. This would make a normal click less responsive (in my case where I'm controlling the mouse from another machine).
If there's no other way to go about this, so be it. just a same that to sequential clicks don't register as a double click like normally in the OS.
from robotjs.
No worries.
Good point! I don't understand why there's a separate event for double clicks on Mac, that makes this difficult. I'm sure I'll find a better solution though.
from robotjs.
I got double click working in all apps on Mac, but unfortunately it will require a separate function, at least for now.
On Windows the double click delay is customizable, which would be an issue, but using GetDoubleClickTime we can accurately send a double click.
I'll submit a PR for this soon.
from robotjs.
Related Issues (20)
- How to make screen of visible window on macos? HOT 2
- git clone npm i why error HOT 2
- All key events continuously hold down keys on Windows only. HOT 1
- Does not work on windows 11 HOT 1
- Using the typeString() method does not let you find the name of a file.
- Installing for nw.js - "A dynamic link library (DLL) initialization routine failed."
- Robotjs doesn't work with Electron, current time 2023.11.27 HOT 3
- or
- In the multi-instance tool, RobotJS is not working. There are no issues with reading properties, but moving the mouse or pressing the keyboard is not functioning correctly.
- Is there anyway to use this library in Nextjs app
- I cannot install robotjs HOT 7
- UTF-8 client type string HOT 1
- Focused program does not react to keyup event
- Mouse is not moving when using Remote Desktop Connection with Windows HOT 1
- Badges on README.md are broken
- Error, Help! HOT 1
- When using typeString() to output consecutive identical unicode characters, only the first character will be output
- I'm reading the documentation thoroughly. It does not capture mouse click?
- Electron combined with robotjs on Win10 and Win11 systems: scrollMouse method does not work HOT 3
- keyTap('right_alt') actually send left alt instead of right alt
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from robotjs.