def _ParsePlistKeyValue(self, knowledge_base, name, value):
    """Parses a plist key value.

    Args:
      knowledge_base (KnowledgeBase): to fill with preprocessing information.
      name (str): name of the plist key.
      value (str): value of the plist key.
    """
    if not knowledge_base.GetValue('keyboard_layout'):
      if name in self._PLIST_KEYS:
        if isinstance(value, (list, tuple)):
          value = value[0]

        _, _, keyboard_layout = value.rpartition('.')

        knowledge_base.SetValue('keyboard_layout', keyboard_layout)
Parses a plist key value.

    Args:
      knowledge_base (KnowledgeBase): to fill with preprocessing information.
      name (str): name of the plist key.
      value (str): value of the plist key.