Robbendebiene / Gesturefy

Navigate, operate, and browse faster with mouse gestures! A customizable Firefox mouse gesture add-on with a variety of different commands.
https://addons.mozilla.org/firefox/addon/gesturefy/
GNU General Public License v3.0
819 stars 74 forks source link

Touchscreen support for gestures #98

Open yulahuyed opened 7 years ago

yulahuyed commented 7 years ago

This extension cannot use with touch on Surface. Both long press and pen don't work. Also, some pages don't work. Like new tab about:**** https://addons.mozilla.org

uegajde commented 7 years ago

Add-ons cannot work on firefox internal pages (such as about: and new tab which is actually about:newtab) because this is limited by the design of WebExtension for security

it cannot work on addons.mozilla.org for same reason but it can be re-open by set privacy.resistFingerprinting.block_mozAddonManager to be true

you can find similar description on https://addons.mozilla.org/zh-TW/firefox/addon/gesturefy/ About this extension -> Limitations / Problems:

uegajde commented 7 years ago

your issue reminds me that touch pad is a good interface to use gesture. i just try for my first time :)

it works for me, although i am not sure my experience on a notebook's touch pad could apply to your touch screen or not.

do you set the "Gesture mouse button" to "left" ? and to trigger gesture, double click the touch pad (in my case)

yulahuyed commented 7 years ago

long press works with FireFox 52 ESR, but doesn't work with Firefox Quantum(57). The problem of pen may be the bug of Windows 1709.

lifemare commented 5 years ago

Experiencing this problem with FF64 on Windows 10 hybrid laptop.

Long presses only select link text, they don't invoke the right-click context menu.

Works fine with CrxMouse Gestures on Chrome, and works fine with Firefox without this addon.

Hope you can fix this. It's a huge hassle having to disable addons every time i want to browse with the touch screen.

Robbendebiene commented 5 years ago

@lifemare Since I do not have the right hardware to reproduce the issue I'll need more information to fix this.

Please describe exactly:

  1. What you are doing
  2. What happens
  3. What should happen/what you expect to happen

If possible please provide screenshots or screen recordings.

nkakouros commented 4 years ago

I have a similar request. I am running Firefox Nightly and have installed Gesturefy. I would like to use the gestures with my touch screen.

I have set the environment variable MOZ_USE_XINPUT2=1 that enables true touch support to firefox. Without this, finger touches are interpreted as left mouse clicks.

With this setup, if I touch the screen, firefox behaves like a smartphone app, but gesturefy does not trigger as there is no mouse click anymore.

Robbendebiene commented 4 years ago

The problem with touch is, that I don't know how to detect if the user wants to perform a gesture or if the user wants to scroll, select some text or whatever normally happens on touch movement.

nkakouros commented 4 years ago

It might be a silly idea, but what if touch support was initially limited to eg three fingers on the screen?

Robbendebiene commented 4 years ago

I have to admit, that I don't really like that approach. Performing a gesture with 3 fingers seems strange to me, especially if the gesture is a little bit more complex than just up or down. Also there still might be devices that do not support multi touch.

ofirnk commented 4 years ago

Would it be possible to detect side control swipe like in ChromePie? https://www.youtube.com/watch?v=Btn4qGeJp-c I think ChromePie achieved the best UI/UX in mobile browsing, so that would be ideal. https://github.com/mozilla-mobile/focus-android/issues/3873

But also I think that opening a gesture area from a swipe could work great and almost the same!

wdyt?

Btw, that's an opportunity to thank you for this addon :) It's just great!

Robbendebiene commented 4 years ago

ChromePie looks nice.

This would be cool for another separated add-on. I already thought about making a Pie Menu add-on. But there already exists one (https://addons.mozilla.org/en-US/firefox/addon/easygestures-n/). I don't know how good it works on mobile though.

Would it be possible to detect side control swipe like in ChromePie? But also I think that opening a gesture area from a swipe could work great and almost the same!

I don't really see how this could work for gestures. Swiping from the sides would probably also result in a vertical gesture movement at the start, since I can't distinguish between the swipe from the left that triggers the gesture and the actual gesture the user tries to perform. Maybe you can elaborate on this a little bit more?

Btw, that's an opportunity to thank you for this addon :) It's just great!

Thank you, I appreciate it :)

hmmwhatsthisdo commented 4 years ago

@Robbendebiene, now that this seems to be getting more movement: The HTML5 Pointer Events API should allow for some more options here (both for touchscreens and pen input devices). At the moment it looks like Firefox's support is a bit janky - see 822898 and 1631377 on BMO - however, there might be enough functionality at the moment to implement basic behavior (e.g. triggering gestures with the pen side button, then drawing)

ofirnk commented 4 years ago

ChromePie looks nice.

This would be cool for another separated add-on. I already thought about making a Pie Menu add-on. But there already exists one (addons.mozilla.org/en-US/firefox/addon/easygestures-n). I don't know how good it works on mobile though.

I think it could use the same triggering mechanism I'll thought of -->

Would it be possible to detect side control swipe like in ChromePie? But also I think that opening a gesture area from a swipe could work great and almost the same!

I don't really see how this could work for gestures. Swiping from the sides would probably also result in a vertical gesture movement at the start, since I can't distinguish between the swipe from the left that triggers the gesture and the actual gesture the user tries to perform. Maybe you can elaborate on this a little bit more?

Sure - The way ChromePie solved it is by defining few pixels that will trigger the Pie Menu only if there's a swipe inside it. This looks where that logic resides . Once that trigger event is detected, a blank rectangle with a drawing area can appear.

Theoritcally there's no need to lift the finger from touch area as there's enough room for drawing a gesture towards the opposite direction of the trigger. In ChromePie this setting is 7-10dp .

Robbendebiene commented 4 years ago

@hmmwhatsthisdo The problem in this case is not technical, my problem is how it should work in principle. Because every touch action I can imagine that could be used as a gesture trigger is already used in the browsers (like double tap or hold). Btw. Gesturefy is already using the pointer API :)

Pen support however shouldn't be a problem I guess.