linuxdeepin / developer-center

Deepin developer center, provide developer wiki and community forum.
450 stars 73 forks source link

Feature Request : Kinetic pointer Movement ... just give a nudge/push to the pointer on the touchpad and the pointer glides in that direction ! #842

Closed aiamuzz closed 3 years ago

aiamuzz commented 5 years ago

Summary

Kinetic pointer Movement ... just give a nudge/push to the pointer on the touchpad and the pointer glides in that direction !!!

I believe its similar kinetic scroll except that instead of the page gliding(scrolling down as if it was spun on a wheel) the cursor moves/glides across the screen.

Feature details

I remember this worked on my synaptic touchpad(with their driver) in windows ... one had to just push the cursor using the touchpad and the pointer would glide in that direction ... there was an option to control the sensitivity / friction level ... lower the friction the faster the cursor would glide on the screen covering a longer distance ...

Affected Hardware

I remember this is possible on a Synaptic hardware/driver

Implementation in Other Systems

a few Kinetic scroll implementation are available for certain browser ... all android smartphones have this kinetic scroll across the device and application. Except that i am requesting for the cursor movement in place of the screen movement.

I have raised this request even at the libinput project page ...

Given that Deepin Team is dishing out features and applications that are hard to find on linux ... i guess this could be something you could consider ...

I believe this kinetic pointer/cursor movement will make the UX will complement the eye candy(glassy) UI of deepin !!!

aiamuzz commented 5 years ago

@jouyouyun ... @hualet ... @BLumia ... @wangjia12 ...

seems the libinput team resources are limited/spread thin(as what their project page suggests) ... but this feature could exponentially improve the UX and complement our OSeS eye candy UI !!! ... Don't you think ?

jouyouyun commented 5 years ago

@jouyouyun ... @hualet ... @BLumia ... @wangjia12 ...

seems the libinput team resources are limited/spread thin(as what their project page suggests) ... but this feature could exponentially improve the UX and complement our OSeS eye candy UI !!! ... Don't you think ?

Do you mean the pointer acceleration speed?

aiamuzz commented 5 years ago

@jouyouyun ... @hualet ... @BLumia ... @wangjia12 ... seems the libinput team resources are limited/spread thin(as what their project page suggests) ... but this feature could exponentially improve the UX and complement our OSeS eye candy UI !!! ... Don't you think ?

Do you mean the pointer acceleration speed?

no @jouyouyun ... its not cursor acceleration speed ...

Imagine a perfectly flat table(this is our laptop touchpad) with a 'flat disk'(this is our cursor pointer) ... now imagine if you just put your finger on this flat disk and and moved a little and lifted your finger ... notice how the disk slides across this flat table ? I am referring to this movement of the disk on the table ... which keeps moving depending on the amount of force applied before lifting the finger ...

If you just make small flicks on the touchpad ... the cursor will glide in the direction of the flick/push ... and putting the finger back on the touchpad will stop the glide of the cursor instantly !!!

Please go through this thread ... i believe they have tried to hack their way into this functionality !!!

aiamuzz commented 5 years ago

I believe its called ... Pointer -> Momentum settings ... for synaptic touchpad ...

https://www.youtube.com/watch?v=xKsN4FoGQR4

aiamuzz commented 5 years ago

some more info on this ... @jouyouyun ...

https://github.com/IOrot/ggglide

https://www.autohotkey.com/boards/viewtopic.php?f=6&t=35934&start=40

I believe the source files for this function can be downloaded from here ...

https://bazaar.launchpad.net/~dylanmccall/+junk/synaptics-kinetic-pointer/files

aiamuzz commented 5 years ago

@jouyouyun ... where you able to understand this feature i am talking about ? let me know if its still not clear ... i'll see if i can find a video of this pointer movement action ...

jouyouyun commented 5 years ago

@aiamuzz See here, the kinetic-scrolling needed the GUI libraries to implement. There is a patch for gtk 3.20 from here, you can try.

Alse see libinput scrolling

We will investigate and discuss this feature.

@wangjia12

aiamuzz commented 5 years ago

@aiamuzz See here, the kinetic-scrolling needed the GUI libraries to implement. There is a patch for gtk 3.20 from here, you can try.

Alse see libinput scrolling

We will investigate and discuss this feature.

@wangjia12

hahahaha ... its very easily confused ... while i don't mind kinetic scrolling, If this option was implemented too with the kinetic pointer movement.

But what i have requested is for a 'Kinetic Pointer Movement' ... 'Kinetic Scrolling' is another feature ...

Please find the 'Kinetic Pointer Movement' in the following screen grabbed from my Windows 10 installation ...

notice how the mouse pointer keeps moving all be itself and slowly comes to a stop ... even though the finger is not on the touchpad ... a small push on the touchpad and lifting the finger away will move the cursor ... as you can see it travels a certain distance depending on how fast one pushes it ... notice how the cursor rolls/moves in a straight line ... my finger is not on the touchpad beyond the flick ... if it was, the cursor would never move in a straight line or move in such a fluid manner ...

momentumrecord

If i am not wrong ... this is the thread that discusses it ... https://ubuntuforums.org/archive/index.php/t-1009310.html ... and this is probably the code they are talking about ... https://ubuntuforums.org/archive/index.php/t-1009310.html

aiamuzz commented 5 years ago

@jouyouyun ... come to think of it ... given how deepin and all other new age linux distros that have been developed post the Android era, with UI's and UX's inspired from android UI/UX ... kinetic movement/motions should have already been implemented right from the start ... remember android kinetic sroll was implemented right from beginning(and they was no concept of a pointer on an android) ... :smile: ... A desktop with a touchpad certainly has both scroll and pointer whose movements can be modified to move kinetically ...

BLumia commented 5 years ago

Hmm, just curious, do you think this feature is useful at least to you?

aiamuzz commented 5 years ago

Hmm, just curious, do you think this feature is useful at least to you?

hahahaha ... it surely feels good and it saves a lot of finger stress ... kinetic movements are modern ... and looks and feels advanced, efficient and sophisticated ...

And i seriously consider Deepin OS modern, advanced, efficient and sophisticated !!! ... :wink:

@BLumia ... you should try it yourself ... if you have a windows machine close by ... use it for 2 days and the 3rd day working on your favorite Deepin OS will look and feel primitive !!! :stuck_out_tongue_winking_eye:

BLumia commented 5 years ago

@BLumia ... you should try it yourself ... if you have a windows machine close by ... use it for 2 days and the 3rd day working on your favorite Deepin OS will look and feel primitive !!!

Actually I didn't found "Kinetic Pointer Movement" on my Windows 10 (Home) installation. Does this feature on windows got another name than "Kinetic Pointer Movement"?

aiamuzz commented 5 years ago

@BLumia ... you should try it yourself ... if you have a windows machine close by ... use it for 2 days and the 3rd day working on your favorite Deepin OS will look and feel primitive !!!

Actually I didn't found "Kinetic Pointer Movement" on my Windows 10 (Home) installation. Does this feature on windows got another name than "Kinetic Pointer Movement"?

oh ... i am sorry ... on windows 10 go to ... mouse & pointer settings -> Advanced settings link on the right ... find the touchpad driver ... double click or click on properties ... you'll get the synaptic touchpad settings control window ... click on the advanced tab ... you should find 'momentum' setting somewhere there ... and be sure to select the highest pointer speed setting ...

If you don't find the setting ... try this regedit hack ... https://www.youtube.com/watch?v=YetEUbv_7ps

aiamuzz commented 5 years ago

@BLumia ... you should try it yourself ... if you have a windows machine close by ... use it for 2 days and the 3rd day working on your favorite Deepin OS will look and feel primitive !!!

Actually I didn't found "Kinetic Pointer Movement" on my Windows 10 (Home) installation. Does this feature on windows got another name than "Kinetic Pointer Movement"?

oh ... you found it ? I don't know about other hardware ... but for Synaptic Touch pad hardware the settings is called 'Momentum' setting which needs to be checked ... you can find the GUI for the same ...

deepinscreenshot_select-area_20190130143200 deepinscreenshot_select-area_20190130143142

On my Windows 10 installation i have this GUI ... the Momentum settings can be found in the Advanced Tab ...

deepinscreenshot_select-area_20190130143416

BLumia commented 5 years ago

No I don't have this driver, nor this driver property menu.

But imo I don't think this will be a useful feature, it may looks cool, but not as useful as other features like "Kinetic Scrolling" you've mentioned above.

aiamuzz commented 5 years ago

No I don't have this driver, nor this driver property menu.

so you were not able to try it out ?

But imo I don't think this will be a useful feature, it may looks cool, but not as useful as other features like "Kinetic Scrolling" you've mentioned above.

Well you can't tell its not useful until you actually try ... :smile: ... you need to try it to understand how convenient it is(take me up on a 2 day use challenge) ... its an honest challenge to convince people who think it may not be useful ... and its usage even on Windows isn't high ... its buried so deep in the settings that its difficult to find and enable it ... an average user will not even know if its existence when its hidden so deep inside ...

Come to think of it ... linux community has never had this as a straight forward option to check and unheck ... it was always complicated to get it up and working ... so linux users as usual just accept its absence !!!

PS : it was a daily settings when i was on windows ... after i moved to linux ... it was a compromise due to non availability ... almost all linux users are open to the idea of accepting the non-availability of certain options and functionalities ...

aiamuzz commented 5 years ago

No I don't have this driver, nor this driver property menu.

But imo I don't think this will be a useful feature, it may looks cool, but not as useful as other features like "Kinetic Scrolling" you've mentioned above.

have you tried looking for it in this option ? ... Additional Settings will throw a window ... in that you have tabs for the synaptic touchpad driver ... and the properties button will take you to the above 1 of 3 settings window from my earlier post ...

deepinscreenshot_select-area_20190130145522

deepinscreenshot_select-area_20190130150056

BLumia commented 5 years ago

have you tried looking for it in this option ? ... Additional Settings will throw a window ... in that you have tabs for the synaptic touchpad driver ... and the properties button will take you to the above 1 of 3 settings window from my earlier post ...

My touchpad is a HID-compliant touchpad, not a Synaptic touchpad, so of course I don't have a Synaptic-only device setting tab.

aiamuzz commented 5 years ago

have you tried looking for it in this option ? ... Additional Settings will throw a window ... in that you have tabs for the synaptic touchpad driver ... and the properties button will take you to the above 1 of 3 settings window from my earlier post ...

My touchpad is a HID-compliant touchpad, not a Synaptic touchpad, so of course I don't have a Synaptic-only device setting tab.

Then i would request you to reserve your judgement/decision on its usefulness until you carry out the 2-day-use challenge ... :smile:

When you have time ... may be during your weekends

Here is a way to get that feature working on non-synaptic hardware as well on Windows OS ... as per this repo ... https://github.com/IOrot/ggglide

GGGlide is an ergonomic and productivity feature for touchpad users. The GGGlide function is reminiscent of the behavior of the Synaptics touchpad setting 'Momentum' (or the more familiar two-finger inertial scrolling but for pointing) and available to any touchpad/trackpad

aiamuzz commented 5 years ago

@BLumia ... @jouyouyun ... @hualet ...

Weekend is here ... time to take me up on my dare ... go ahead and try the kinetic pointer movement (Momentum) setting ... on your Windows 10 OS ... hopefully after that you'll know what i am talking about and how nice of a feature/enhancement that could prove to be !!!

wangjia12 commented 5 years ago

Isn't this way difficult to accurately control where the mouse is?

aiamuzz commented 5 years ago

Isn't this way difficult to accurately control where the mouse is?

you need to use it to know it ... @wangjia12 ... use it for a day and then let me know if it was difficult to control accurately ? ... :smile:

justforlxz commented 3 years ago

Sorry, this issue will be closed soon. If it is necessary to discuss it again, please create a new issue.