How to send custom control commands to a PTZ camera via an Axis encoder using an Axis joystick.

I believe this can be done with a plugin that monitors the joystick buttons and upon selection sent the pre-configured hex codes to the specified encoder (IP address & port). What is the easiest/most elegant way to get the joystick button events? Using the EventServer? Possibly point me in the right direction and the re-use of relevant sample plugins?

I tried to intercept the Joystick button events using the MessageTester sample plugin but without success.

Unfortunately, there is no SDK support for listening to the joystick events received by the Smart Client. Only option as I see it would be to implement your own driver (using the MIP Driver Framework) for the encoder, and then react to the joystick commands there, but that would then potentially have to replace the use of an existing driver and thus require a lot of work to be feature comparable. Alternatively map the button(s) to user defined event(s), but those are global and thus not a good solution either.

I don’t understand that the joystick events are not accessible but I can monitor the button status when looking at the joystick settings in SC. See the capture of button #1 when pressed… How is this being done?

The picture you showed us is the settings on Smart Client and it is possible to configure in SC. But there is no public methods for listening to the joystick events received by the Smart Client on MIP SDK unfortunately.