def handle_mouse_event(self, event): msg = mouse_event() # instantiate ros message if (event.type==evdev.ecodes.EV_REL): # if mouse motion if event.code==evdev.ecodes.REL_X: msg.right_displacement = event.value elif event.code==evdev.ecodes.REL_Y: msg.down_displacement = event.value elif event.code==evdev.ecodes.REL_WHEEL: msg.wheel_up_displacement = event.value elif (event.type==evdev.ecodes.EV_KEY): # if button clicked if event.code==evdev.ecodes.BTN_MOUSE: msg.left_click = True elif (event.code==evdev.ecodes.BTN_RIGHT): msg.right_click = True elif (event.code==evdev.ecodes.BTN_MIDDLE): msg.middle_click = True if (msg!=self.msg_default): # only publish non-default message self.pub.publish(msg)
def initialise_ros_variables(self): '''Set up topic called mouse_event and initialise mouse_to_ptz_driver node''' self.pub = rospy.Publisher('mouse_event', mouse_event, queue_size = 10) rospy.init_node('mouse_to_ptz_driver', anonymous=False) self.msg_default = mouse_event() # instantiate a default ros_message
def initialise_ros_variables(self): '''Set up topic called mouse_event and initialise mouse_to_ptz_driver node''' self.pub = rospy.Publisher('mouse_event', mouse_event) rospy.init_node('mouse_to_ptz_driver', anonymous=False) self.msg_default = mouse_event() # instantiate a default ros_message