class_docstr: Hold config parsers for all idle config files in singleton instance.
  
  Default config files, self.defaultCfg --
      for config_type in self.config_types:
          (idle install dir)/config-{config-type}.def
  
  User config files, self.userCfg --
      for config_type in self.config_types:
      (user home dir)/.idlerc/config-{config-type}.cfg
class_docstr_tok: ["Hold","config","parsers","for","all","idle","config","files","in","singleton","instance",".","Default","config","files",",","self.defaultCfg","--","for","config_type","in","self.config_types",":","(","idle","install","dir",")","\/config-","{","config-type","}",".def","User","config","files",",","self.userCfg","--","for","config_type","in","self.config_types",":","(","user","home","dir",")","\/.idlerc\/config-","{","config-type","}",".cfg"]
docstr: Return dict of core virtual-key keybindings for keySetName.
  
  The default keySetName None corresponds to the keyBindings base
  dict. If keySetName is not None, bindings from the config
  file(s) are loaded _over_ these defaults, so if there is a
  problem getting any core binding there will be an 'ultimate last
  resort fallback' to the CUA-ish bindings defined here.
code: def GetCoreKeys(self, keySetName=None):
      """Return dict of core virtual-key keybindings for keySetName.
  
      The default keySetName None corresponds to the keyBindings base
      dict. If keySetName is not None, bindings from the config
      file(s) are loaded _over_ these defaults, so if there is a
      problem getting any core binding there will be an 'ultimate last
      resort fallback' to the CUA-ish bindings defined here.
      """
      keyBindings = {
          "<<copy>>": ["<Control-c>", "<Control-C>"],
          "<<cut>>": ["<Control-x>", "<Control-X>"],
          "<<paste>>": ["<Control-v>", "<Control-V>"],
          "<<beginning-of-line>>": ["<Control-a>", "<Home>"],
          "<<center-insert>>": ["<Control-l>"],
          "<<close-all-windows>>": ["<Control-q>"],
          "<<close-window>>": ["<Alt-F4>"],
          "<<do-nothing>>": ["<Control-x>"],
          "<<end-of-file>>": ["<Control-d>"],
          "<<python-docs>>": ["<F1>"],
          "<<python-context-help>>": ["<Shift-F1>"],
          "<<history-next>>": ["<Alt-n>"],
          "<<history-previous>>": ["<Alt-p>"],
          "<<interrupt-execution>>": ["<Control-c>"],
          "<<view-restart>>": ["<F6>"],
          "<<restart-shell>>": ["<Control-F6>"],
          "<<open-class-browser>>": ["<Alt-c>"],
          "<<open-module>>": ["<Alt-m>"],
          "<<open-new-window>>": ["<Control-n>"],
          "<<open-window-from-file>>": ["<Control-o>"],
          "<<plain-newline-and-indent>>": ["<Control-j>"],
          "<<print-window>>": ["<Control-p>"],
          "<<redo>>": ["<Control-y>"],
          "<<remove-selection>>": ["<Escape>"],
          "<<save-copy-of-window-as-file>>": ["<Alt-Shift-S>"],
          "<<save-window-as-file>>": ["<Alt-s>"],
          "<<save-window>>": ["<Control-s>"],
          "<<select-all>>": ["<Alt-a>"],
          "<<toggle-auto-coloring>>": ["<Control-slash>"],
          "<<undo>>": ["<Control-z>"],
          "<<find-again>>": ["<Control-g>", "<F3>"],
          "<<find-in-files>>": ["<Alt-F3>"],
          "<<find-selection>>": ["<Control-F3>"],
          "<<find>>": ["<Control-f>"],
          "<<replace>>": ["<Control-h>"],
          "<<goto-line>>": ["<Alt-g>"],
          "<<smart-backspace>>": ["<Key-BackSpace>"],
          "<<newline-and-indent>>": ["<Key-Return>", "<Key-KP_Enter>"],
          "<<smart-indent>>": ["<Key-Tab>"],
          "<<indent-region>>": ["<Control-Key-bracketright>"],
          "<<dedent-region>>": ["<Control-Key-bracketleft>"],
          "<<comment-region>>": ["<Alt-Key-3>"],
          "<<uncomment-region>>": ["<Alt-Key-4>"],
          "<<tabify-region>>": ["<Alt-Key-5>"],
          "<<untabify-region>>": ["<Alt-Key-6>"],
          "<<toggle-tabs>>": ["<Alt-Key-t>"],
          "<<change-indentwidth>>": ["<Alt-Key-u>"],
          "<<del-word-left>>": ["<Control-Key-BackSpace>"],
          "<<del-word-right>>": ["<Control-Key-Delete>"],
      }
      if keySetName:
          for event in keyBindings:
              binding = self.GetKeyBinding(keySetName, event)
              if binding:
                  keyBindings[event] = binding
              else:  # we are going to return a default, print warning
                  warning = (
                      "\n Warning: configHandler.py - IdleConf.GetCoreKeys"
                      " -\n problem retrieving key binding for event %r"
                      "\n from key set %r.\n"
                      " returning default value: %r"
                      % (event, keySetName, keyBindings[event])
                  )
                  try:
                      print(warning, file=sys.stderr)
                  except IOError:
                      pass
      return keyBindings
  
imports: from __future__ import print_function
  import os
  import sys
  from ConfigParser import ConfigParser
  from Tkinter import TkVersion
  from tkFont import Font, nametofont
label_desc: Use image node_id 21 for calling the IdleConf obj's underlying member method code with example usage: obj.GetCoreKeys(keySetName) and returns: keyBindings