Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Punch left mouse button #1

Open
horstle opened this issue Jan 29, 2019 · 4 comments
Open

Punch left mouse button #1

horstle opened this issue Jan 29, 2019 · 4 comments

Comments

@horstle
Copy link

horstle commented Jan 29, 2019

Hi,

First of all I think this is a really great app. After testing it a while I was able to use the air mouse feature quite well, but one thing bothered me. When keeping the watch on the wrist, I always had to move around both arms simultaneously, to press the mouse button. So I was wondering if it might be possible to use the accelerometer to implement some kind of "punch" which would be interpreted as button press.

I have no idea how difficult it might be to implement something like that, e.g. I could imagine it to be difficult to find a good threshold for whether it actually is a "punch" or not. Also it might be difficult to actually hit the spot, where the mouse is currently pointing at, since it's nearly impossible to make this "punch" movement perfectly straight. But I think the app only uses the gyro until now, so at least that shouldn't interfere.

Alternatively maybe something like turning the arm left/right could be used as left/right mouse button.

@Jolanrensen
Copy link

Let me add an alternative to this idea. Maybe it is possible to detect the sudden bump when you tap two fingers together or snap them as a way to click? That would make it more accurate, but it might require some machine learning to be able to distinguish movements from taps.

@ginkage
Copy link
Owner

ginkage commented Jan 29, 2019

Well, it's definitely something difficult to implement...
As an alternative, you may consider holding the watch in your hand like a laser pointer: pull down from the top of the watch screen to see illustrative icons and to switch to the "watch in hand" mode.
Also, the Play Store version now has an experimental Touchpad mode (which is somewhat hidden though, and only available if you have a secondary button on your watch).

@horstle
Copy link
Author

horstle commented Jun 18, 2019

Hi,
I was giving this some thought again recently and had the idea, that it could be possible to use the "roll" to implement this. I see you already prepared this in MouseSensorListener.java, but commented it out.
Maybe it would be possible to to implement sth. like a threshold, so turning your arm more than 45° to the left would mean pushing down left mouse button and as soon as you're back below 45° it would release the button. Same for right turn and right button.

@ginkage
Copy link
Owner

ginkage commented Jun 18, 2019

Hi!
I thought about this, and the problem is, in many cases (on some operating systems) you need to keep the pointer in pretty much exactly the same place (give or take a pixel) for it to be registered as a click, rather than click and drag. And then there's double click. :)
Now that you've mentioned it though, I have a new thought about it: you can see there's an adaptive low-pass filter implemented for the "stabilization" feature. We could make it even more"adaptive", raising the threshold when the tilt is increasing.
Anyway, now that you can build the source code, feel free to experiment with it, and tell me if you could make it work reliably and intuitively enough. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants