Support for ShuttleXpress

Love what you’re doing! I’m looking to use QPrompt with a Contour ShuttleXpress. Are there any plans to support controlling the speed of the prompting with the ShuttleXpress?

1 Like

I have had partial success adapting this script and mapping the appropriate keystrokes on the function buttons and the jog wheel. So far, limited success with the shuttle ring.

1 Like

Hello @jlex,

A few users, including @videosmith, have asked for Shuttle support to be added. This was my reply to videosmith’s request over at GitHub:

Shuttle Pro/Xpress support · Issue #37 · Cuperino/QPrompt · GitHub
"Dedicated hardware support requires said device to be developed for individually on each supported platform. I’ve already identified a library that can be used to abstract some of the code so that its easier to support all platforms.

If you or anyone is willing to donate one or more of these devices, I will add support for them."

Now to answer your question more directly, and update @videosmith on the matter:

I’m currently in the process of purchasing both the Shuttle Pro V2 and Shuttle Xpress with the intent of developing support for them, on all platforms, later this year. I will only be supporting these two devices for now, and none of their earlier versions.

QPrompt is meant to be a self sustaining project, so I may end up charging for the feature. Nevertheless, QPrompt will always be free software, as defined by the Free Software Foundation, and Open Source as defined by the Open Source Initiative.

Anyone interested in QPrompt having support for the Shuttle Pro V1, or any other device, is invited to donate one of such devices to the project, and I will gladly provide support for it. Code contributions (contributions in the form of software development time) are also welcome.

Quick update. I ended up purchasing the Shuttle Xpress and Shuttle Pro V1, and am still on the lookout for a Shuttle Pro V2.

I’ve also taken a quick look at nanosyzygy/ShuttlePRO’s source code and noticed that it is dependent on X11. This means that this library will only work on Linux and Unix systems that make use of the Xorg display server. Which doesn’t include modern versions of macOS, nor any version of Windows; and it will fail to work on future Linux distributions once distros have fully replaced Xorg with Wayland and start offering no X11 backwards compatibility. This shouldn’t be a problem for commonplace distributions until, at least, 2026.

A more cross platform approach is recommended to enable QPrompt’s Shuttle support on a wider range of devices, and for a longer term. I’ll be looking into a library called libusb, which supports multiple operating systems, is well established, and has the potential to work for a very long time.

Here’s what I’ll be working with: libusb: Asynchronous device I/O

Brief update: I have all Shuttle models, now all I need is time to work on this.

Awesome! Let us know if you need a beta tester.