def NcursesInterface::get_key_bindings
        
        key_names = Ncurses::constants.grep(/^KEY/).inject([]) { |ret, name|
          ret[Ncurses::const_get(name)] = name
          ret
        }
        
        0.upto(255) { |i| key_names[i] = i.chr }
        
        keys = {}
        $config['keys'].each { |key, value| keys[key_names[key]] = value }
        
        keys.each_key { |key|
          old_key = key
          key = key.gsub(/^KEY_/, '')
          case key
          when 'DC':        key = 'Delete'
          when ' ':         key = 'Space'
          when 'NPAGE':     key = 'Page Down'
          when 'PPAGE':     key = 'Page Up'
          when '':        key = 'Control-L'
          when '        ':  key = 'Tab'
          when /^\d$/:      key = '1-9'
          end
          unless key == old_key  
            keys[key] = keys[old_key]
            keys.delete(old_key) 
          end
        }
        
        keys.each { |key, value|
          keys[key] = value.to_s.sub(/^\|.*\|\s?/, '').sub(/^.*::/, '').sub(/\(.*\)$/, '').tr('_', ' ').capitalize
        }
        
        keys.delete_if { |key, value| value == 'Select item' and key != 'Space' }
      end