def bind_hotkey
      if @mnemonic
        ch = @mnemonic.downcase()[0].ord   ##  1.9 DONE 
        # meta key 
        mch = ?\M-a.getbyte(0) + (ch - ?a.getbyte(0))  ## 1.9
        if (@label_for.is_a? Canis::Button ) && (@label_for.respond_to? :fire)
          @form.bind_key(mch, "hotkey for button #{@label_for.text} ") { |_form, _butt| @label_for.fire }
        else
          $log.debug " bind_hotkey label for: #{@label_for}"
          @form.bind_key(mch, "hotkey for label #{text} ") { |_form, _field| @label_for.focus }
        end
      end
    end
def bind_hotkey
      if @mnemonic
        ch = @mnemonic.downcase()[0].ord   ##  1.9 DONE 
        # meta key 
        mch = ?\M-a.getbyte(0) + (ch - ?a.getbyte(0))  ## 1.9
        if (@label_for.is_a? Canis::Button ) && (@label_for.respond_to? :fire)
          @form.bind_key(mch, "hotkey for button #{@label_for.text} ") { |_form, _butt| @label_for.fire }
        else
          $log.debug " bind_hotkey label for: #{@label_for}"
          @form.bind_key(mch, "hotkey for label #{text} ") { |_form, _field| @label_for.focus }
        end
      end
    end
for a button, fire it when label invoked without changing focus
 for other widgets, attempt to change focus to that field