Recently had the pleasure of demoing and purchasing my 8Cs from Keith of Purité Audio in London. Great experience, knowledgable and informative without being pushy, realistic listening environment, and really tries to help you make the decision that's right for you, suggest a visit.
Since purchasing, I've loved my new speakers, but like many, found the lack of physical volume controller/remote irritating for a substantial purchase.
Solutions like rooExtend enable control of Roon using various physical controllers, but require a raspberryPi to run, and I didn't want an extra device to complicate things.
As I run Roon Server on an old Mac, I came up with a solution using a Microsoft Surface Dial as a bluetooth controller, and Better Touch Tool on the Mac (a brilliant piece of automation software for Mac).
The first step is to connect the Surface Dial to your Mac. After installing Better Touch Tool (BTT), you can import my settings below.
drive.google.com
Disclaimer: I adapted code shared by BTT users and the developer/picked up some basics to make this work, but I am no developer, so this solution is limited, but it works for me on my Mac that's used just for Roon Server and music related tasks. If someone wants to improve on it, that will be great!
The script under Generic Devices > Surface Dial provides for double press, single press, right jog, left jog, hold press and jog right (nextTrack trigger), and hold press and jog left (previousTrack trigger). These triggers are recognised in various applications I've added categories for in the left hand panel of BTT (though you can configure your own desired applications).
Double press is also a top level trigger (meaning it can be picked up in any application, though if the trigger also has an application specific action, that will take precedence - which is useful to this project). By default it delays the next action by 0.3 seconds. This is as the script is flawed and recognises a double press followed by a single press whenever there is a double press.. so the delay allows the single press to be registered before opening Roon where it would pause/play (can configure whatever app you want to open).
I then have Roon specific triggers. When Roon is open, these map Roon keyboard shortcuts to the triggers:
single press = play/pause keyboard shortcut for Roon,
right turn = volume up keyboard shortcut - rotation linked to volume,
left turn = volume down,
press and hold whilst turning right = next track,
press and hold whilst turning left = previous track.
The press and hold actions have a delay next action by 1.5 seconds.. again this is a work around for the broken script, as otherwise pressing is recognised as multiple button presses, and triggers unwanted actions. so you have 1.5 seconds to release the button when changing track, during which other actions won't be recognised. seems to work ok though. You can change the duration.
A Double Press when Roon is opens the Menu Bar Controller for Sonos app for Mac. Here again I've configured the various Surface Dial button presses/rotation triggers to activate personal keyboard shortcuts.
Double pressing returns to Roon.
So basically the Double Press cycles between applications, starting with Roon.
This works well for my old Mac that is used specifically for Roon server, but may be problematic for your use case due to the script limitations.
You can configure the cycle and keyboard actions to your own application preferences/ cycle through more apps if you'd like.
Hope it's useful to someone.