anchor.diff:              Right = Var.Create false
           }
   
  +    // Add the button listener if it hasn't been added already.
  +    // Button listener adds mousedown and mouseup events, which modify
  +    // MouseBtnSt vars.
       let ActivateButtonListener =
           let buttonListener (evt: Dom.MouseEvent) down =
               match evt.Button with
  
positive.code: 
          static member MousePressed =
              ActivateButtonListener
              View.Const (fun l m r -> l || m || r)
              <*> MouseBtnSt.Left.View
              <*> MouseBtnSt.Middle.View
  
negative.code: 
      type Key = int
  
  
      // State for keyboard listener: which keys are pressed, whether the listener
      // is active, and the last key that has been presed
      type KeyListenerSt =
          {
              KeysPressed : Var<Key list>
  