Mouse:
    enable: IOHUB_BOOL
    name:
        IOHUB_STRING:
            min_length: 1
            max_length: 32
            first_char_alpha: True    
    save_events: IOHUB_BOOL
    stream_events: IOHUB_BOOL
    auto_report_events: IOHUB_BOOL    

    # report_system_wide_events: Should the keyboard report events
    #   even when the OS window target is not a PsychoPy Window? 
    #   True: All events will be reported regardless of window target.
    #   False: Only events indicating that a PsychoPy Window
    #       is the intended event target will be reported.
    report_system_wide_events: IOHUB_BOOL

    event_buffer_length:
        IOHUB_INT:
            min: 1
            max: 2048    
    monitor_event_types:
        IOHUB_LIST: 
            valid_values:  [MouseMoveEvent,MouseDragEvent, MouseScrollEvent, MouseButtonPressEvent, MouseButtonReleaseEvent, MouseMultiClickEvent]
            min_length: 0
            max_length: 6
    device_number:
        IOHUB_INT:
            min: 0
            max: 32
    model_name:
        IOHUB_STRING:
            min_length: 1
            max_length: 32
    model_number:
        IOHUB_STRING:
            min_length: 1
            max_length: 16
    manufacturer_name:
        IOHUB_STRING:
            min_length: 1
            max_length: 64    
    serial_number:
        IOHUB_STRING:
            min_length: 1
            max_length: 32
    manufacture_date: IOHUB_DATE
    software_version:
        IOHUB_STRING:
            min_length: 1
            max_length: 8    
    hardware_version: 
        IOHUB_STRING:
            min_length: 1
            max_length: 8
    firmware_version: 
        IOHUB_STRING:
            min_length: 1
            max_length: 8
