You can extend the Curve Editor toolset by implementing this interface. The Curve Editor guarantees that only one tool will be active at any given time. A tool needs to specify if they handled certain mouse events so that these events can be bubbled to the rest of the Curve Editor to allow common functionality of selecting/deselecting keys, panning, etc.