transform rotation only 1 axis

I have a section of code that makes an object rotate according to the position of the right VIVE controller.

// Smoothly interpolate this gameobject’s rotation towards that of the controller.
transform.rotation = Quaternion.Slerp(transform.rotation, InputTracking.GetLocalRotation(VRNode.RightHand),
m_Damping * (1 - Mathf.Exp(k_DampingCoef * Time.deltaTime)));

What I need it to do is only rotate the object on 1 axis.
So I have a 3 segmented object. I want to collect the rotation info from the controller and apply each axis to a different part. So part A will move along the Y axis based on controller rotation Part B will move along the X axis based on the controller rotation and part C will move based on Z.

Second part is the controller rotation seems to be 90 degrees off on the X axis. So the trigger side downwards is facing straight forward and I need it to be the end of the wand or top. Is there a way to offset the axis by an amount?

ya in theory you would take the quaternion store it then adjust the offset and then apply the slerp so that you dont have jery movements. code wise im just not seeing how to put it together.