Suggestion Improved touchpad on macOS and Windows platforms?

Wingnut

Well-known member
3rd Party Module Dev
Tutorial Author
Joined
Jan 2, 2020
Messages
1,280
Monkey 2 :rolleyes: was able to treat the touchpad as a regular touchscreen. You would get the (absolute positions) using the regular multi TOUCH commands on macOS, no different than you do with Android & iOS.

Would it be possible to bring that to Cerberus-X? It's super nice to have at times. I used it for a lot of things like accurate note taking on the touchpad. Maybe touch could be made to work with Windows' new precision-touchpad standard as well?
 
Last edited:

MikeHart

Administrator
CX Code Contributor
3rd Party Module Dev
3rd Party Target Dev
3rd Party Tool Dev
Joined
Jun 19, 2017
Messages
3,497
Is TouchX() and TouchY() not working? Or MouseX/Y?
 

Wingnut

Well-known member
3rd Party Module Dev
Tutorial Author
Joined
Jan 2, 2020
Messages
1,280
I explained it poorly. TOUCH X/Y works only correct with both touchscreens and touchpads in Monkey 2 and macOS.

One of the uses you have for this is that you can design multitouch apps for macOS.
Also you can test multitouch apps before deplying them to android tablets or iPads.
As long as your Apple computer have a touchpad inbuilt or attached (you can buy those wedged surfaces from Apple).

My wish is that Cerberus-X could replicate that behaviour.
If you try to do the same in Cerberus as in Monkey2 does not work, it won't react on TOUCH X/Y commands in that way.

It's be possible to do this on macOS in Cerberus-X and maybe even on Windows using their precision touchpad protocol.
(I remember how Windows' old touchpad protocol did not allow you to see through the mouse emulation as easily as MacOS allow)

About MOUSE X/Y
----------------------
MOUSE X/Y work as it should of course in both languages but this command is not useful for
single- or multi- touch purpose for several reasons :

It gives only a single coordinate but the problem is that it does not even do that in all situations,
because you have to move around to actually give a position. You can't just press anywhere, except
with physical buttons. Mouse emulation can also never give you multiple touchpoints, that only works
on a higher level via gestures which sometimes is undesired.

This higher level is the traditional protocol of handling mouse left clicks, right clicks and dragging and
also gestures but all this comes in the way when you want to treat the touchpad as a multitouch screen.
Therefor I leave MOUSE X/Y out of this, because it's a mouse emulation and it gives the standard behaviour
of handling a mouse through a touchpad surface and do exactly what they are supposed to do.
 

MikeHart

Administrator
CX Code Contributor
3rd Party Module Dev
3rd Party Target Dev
3rd Party Tool Dev
Joined
Jun 19, 2017
Messages
3,497
As i am lacking the hardware to look into this, i can only have a look into m2 and see how it is done there. But i have a feeling that it uses SDL for this which we don't. But i will have a look anyway.
 

MikeHart

Administrator
CX Code Contributor
3rd Party Module Dev
3rd Party Target Dev
3rd Party Tool Dev
Joined
Jun 19, 2017
Messages
3,497
As I have thought, M2 uses SDL which supports gestures and touchscreens. CX uses GLFW3, which has no support for touchscreens and/or gestures.
 

Wingnut

Well-known member
3rd Party Module Dev
Tutorial Author
Joined
Jan 2, 2020
Messages
1,280
Okay thanks for looking it up! So I'm guessing there's no chance to easily add this feature?

Will Cerberus-x keep using GLFW3 in the future when e.g. the graphics API changes?
 

MikeHart

Administrator
CX Code Contributor
3rd Party Module Dev
3rd Party Target Dev
3rd Party Tool Dev
Joined
Jun 19, 2017
Messages
3,497
Will Cerberus-x keep using GLFW3 in the future when e.g. the graphics API changes?
I can't really 100% say for sure. Moving to SDL would make sense a lot.
 

grant

Member
CX Code Contributor
3rd Party Module Dev
3rd Party Tool Dev
Joined
Nov 19, 2019
Messages
80
Because touch-pads and touch-screens are different things, I'd prefer having them separate. I never looked into touch-screens on MacOS, but touch-screen support is something that is on my wish list for Cerberus X on Windows and Linux in the future.
 
Last edited:
Top Bottom