def on_enter
      # if BTAB, the last comp XXX they must be focusable FIXME
      if $current_key == KEY_BTAB || $current_key == KEY_UP
        @current_component = @focusables.last
      elsif $current_key == KEY_TAB || $current_key == KEY_DOWN
        @current_component = @focusables.first
      else
        # let current component be, since an unhandled key may have resulted
        #  in on_enter being called again
      end
      return unless @current_component
      $log.debug " STACKFLOW came to ON_ENTER #{@current_component} "
      set_form_row
      @_entered = true
    end
def on_enter
      # if BTAB, the last comp XXX they must be focusable FIXME
      if $current_key == KEY_BTAB || $current_key == KEY_UP
        @current_component = @focusables.last
      elsif $current_key == KEY_TAB || $current_key == KEY_DOWN
        @current_component = @focusables.first
      else
        # let current component be, since an unhandled key may have resulted
        #  in on_enter being called again
      end
      return unless @current_component
      $log.debug " STACKFLOW came to ON_ENTER #{@current_component} "
      set_form_row
      @_entered = true
    end
Actually we should only go to current component if it accepted
 a key stroke. if user tabbed thru it, then no point going back to
 it. Go to first or last depending on TAB or BACKTAB otherwise.
 NOTE: if user comes in using DOWN or UP, last traversed component will get the focus