Update:
Sorry for the inconvenience. Turned out to be straightforward, according to data transmitted from vtkInteractorStyleRemoteMouse class.
For example, the pinch handling with camera zoom that worked for me:
@exportRpc(“viewport.gesture”)
def updateGesture(self, event):
if 'StartPinch' in event["type"]:
self.getApplication().InvokeEvent('StartInteractionEvent')
renderWindow = self.getView(event['view'])
print("StartPinch")
camera = renderWindow.GetRenderers().GetFirstRenderer().GetActiveCamera()
self.fp = camera.GetFocalPoint()
self.pos = camera.GetPosition()
if 'Pinch' in event["type"]:
renderWindow = self.getView(event['view'])
if renderWindow and 'scale' in event:
scaleF=1.5
zoomFactor = event['scale']/scaleF;
camera = renderWindow.GetRenderers().GetFirstRenderer().GetActiveCamera()
camera.Zoom(zoomFactor)
renderWindow.Modified()
if 'EndPinch' in event["type"]:
self.getApplication().InvokeEvent('EndInteractionEvent')