I had a vague idea that the joysticks would appear as directories in the JOY: device. And in the same way the various MIDI gadgets would be listed as directories in the MIDI: device.

Seeing which joysticks and MIDI devices are available is then just a matter of listing the content of JOY: and MIDI:.

Once you know what joysticks and MIDI devices are available, you can read and write to a device's directory to get a joystick direction, send commands to a force feedback joystick, and send and receive MIDI messages.

Both handlers could accept special keywords, like the CON: handler does, if needed.

camd is a library, which is a bit more "program" oriented than a handler, but there are command line tools for basic stuff, and enough example code to show how easily it can be used.

os4depot/camdtools/showclusters will show a list of currently available MIDI clusters. It may also be used with a specific cluster name, and will set the WARN flag if found. This makes it easy for a script to detect specific devices and automatically add links to support them.

LyleHaze wrote:camd is a library, which is a bit more "program" oriented than a handler, but there are command line tools for basic stuff, and enough example code to show how easily it can be used.

os4depot/camdtools/showclusters will show a list of currently available MIDI clusters. It may also be used with a specific cluster name, and will set the WARN flag if found. This makes it easy for a script to detect specific devices and automatically add links to support them.

MOST of those tools come witrh complete source, so if you want to play, you've got a running start.

I suppose there's plenty of material there to help you write a handler if you want to.

And with that clarifying that a lot more than ( MIDI:<device>/ ) would be possible...

Thank you LyleHaze for all of the above.

@Spektro: the MIDI: handler looks very practical to me based on LyleHaze camd work and the above camdtools all being source included.

Just need a clear "These are the features" list to define more exactly if you want more than "Device Exists"...

One thing that comes to mind is Linux "/dev/input/joystick#" and "/sys" sysfs... may be something to look at ? to compare your idea and think about any other features that make sense for a handler to provide?