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

Touchscreen support #527

Open
matchaxnb opened this issue Apr 11, 2023 · 6 comments
Open

Touchscreen support #527

matchaxnb opened this issue Apr 11, 2023 · 6 comments

Comments

@matchaxnb
Copy link

Hey there!

I'd love to have support for touchscreen in Cardinal. I would be very happy if 2 finger gestures would allow to scroll into the rack to quickly navigate from one part of the patch to another. I'd be available to test that feature on Windows on a Surface Pro.

Support for stylus pen would be a nice addition but that's less important to me at least.

I tried to figure how to do that myself but found Cardinal barely usable with these tools.

Thanks :)

@falkTX
Copy link
Contributor

falkTX commented Apr 11, 2023

Realistically dont think this will ever happen.
The more deep framework in use by Cardinal for OS events does not support touch, and neither does VCV Rack.

I faked the events in the online version (running at https://cardinal.kx.studio/), perhaps that event mapping is good enough? I could try to port it over to desktop if it proves to work well, but more than that is very unlikely to happen.

@Audiojunkie
Copy link

Audiojunkie commented Apr 12, 2023

To be more specific, I believe the OP must have meant “multi-touch” support. Single-touch support works fine with pretty much everything. 🙂

That said, multi-touch support is unlikely. The OP could try a utility like touchegg and see if that helps, but I doubt it if the underlying multi-touch framework isn’t there. It would still only respond to a single touch at a time. 🙂

@falkTX
Copy link
Contributor

falkTX commented Apr 12, 2023

FYI I dont have a multi-touch device myself, nor feel the need for one.
As Cardinal development is mostly done by me, this reduces the chance of anything multi-touch ever happening to almost zero.

@JSandusky
Copy link

JSandusky commented Jun 15, 2023

Context is Windows.

Due to submodules being taken whole it's a bit of mess so it's faster to just ask, of these (all of whom fuddle with WM_MOUSEWHEEL in some fashion) who is the input lord that translates into mouse-wheel and shift + mousewheel that actually manifests?

  .\carla\source\modules\dgl\src\pugl-upstream\src\win.c
  .\carla\source\modules\juce_gui_basics\native\juce_win32_Windowing.cpp
  .\carla\source\modules\ysfx\thirdparty\WDL\source\WDL\eel2\eel_lice.h
  .\carla\source\modules\ysfx\thirdparty\WDL\source\WDL\swell\swell-generic-gdk.cpp
  .\carla\source\modules\ysfx\thirdparty\WDL\source\WDL\swell\swell-menu-generic.cpp
  .\carla\source\modules\ysfx\thirdparty\WDL\source\WDL\swell\swell-types.h
  .\carla\source\modules\ysfx\thirdparty\WDL\source\WDL\swell\swell-wnd-generic.cpp
  .\dpf\dgl\src\pugl-upstream\src\win.c
  .\plugins\surgext\surge\libs\JUCE\examples\Plugins\ReaperEmbeddedViewPluginDemo.h
  .\plugins\surgext\surge\libs\JUCE\examples\Plugins\extern\reaper_plugin_fx_embed.h
  .\plugins\surgext\surge\libs\JUCE\modules\juce_audio_plugin_client\utility\juce_WindowsHooks.h
  .\plugins\surgext\surge\libs\JUCE\modules\juce_gui_basics\native\juce_win32_Windowing.cpp
  .\src\Rack\dep\glfw\src\win32_window.c

I assume it's one of the juce files as the Zoom gesture is functioning correctly, it's the other gestures that are unimplemented. Two-finger drag is correctly being recognized (in that nothing funky happens) but it's just doing nothing because there's no implementation mapping that to scrolling left-right or up-down.

@dromer
Copy link
Collaborator

dromer commented Jun 15, 2023

You can fully ignore the carla and plugins dirs for this.
It's either dgl or glfw, but @falkTX would better know which one is relevant here.

@falkTX
Copy link
Contributor

falkTX commented Jun 15, 2023

the code to look into is .\dpf\dgl\src\pugl-upstream\src\win.c, ignore all the rest

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

5 participants