def map_keys
    return if @keys_mapped
    bind_key(KEY_F1, 'help') { hm = help_manager(); hm.display_help }
    bind_keys([?\M-?,?\?], 'show field help') { 
      #if get_current_field.help_text 
        #textdialog(get_current_field.help_text, 'title' => 'Help Text', :bgcolor => 'green', :color => :white) 
      #else
        print_key_bindings
      #end
    }
    bind_key(FFI::NCurses::KEY_F9, "Print keys", :print_key_bindings) # show bindings, tentative on F9
    bind_key(?\M-:, 'show menu') {
      fld = get_current_field
      am = fld.action_manager()
      #fld.init_menu
      am.show_actions
    }
    @keys_mapped = true
  end
def map_keys
    return if @keys_mapped
    bind_key(KEY_F1, 'help') { hm = help_manager(); hm.display_help }
    bind_keys([?\M-?,?\?], 'show field help') { 
      #if get_current_field.help_text 
        #textdialog(get_current_field.help_text, 'title' => 'Help Text', :bgcolor => 'green', :color => :white) 
      #else
        print_key_bindings
      #end
    }
    bind_key(FFI::NCurses::KEY_F9, "Print keys", :print_key_bindings) # show bindings, tentative on F9
    bind_key(?\M-:, 'show menu') {
      fld = get_current_field
      am = fld.action_manager()
      #fld.init_menu
      am.show_actions
    }
    @keys_mapped = true
  end
These mappings will only trigger if the current field
  does not use them.