The keywordinput handler is for use with SelectionSets. Use a loop to handle the keyword option with the Getxxxx() methods. A quick example:
PromptEntityResult entResult;
//loop to allow user to pick multiple objects and/or enter a keywordht
do
{
entResult = ed.GetEntity(entProps);
if (entResult.Status == PromptStatus.Keyword)
{
if (entResult.StringResult != "SEttings") //in this case I have 1 keyword
continue;
changeSettings();
}
else if (entResult.Status == PromptStatus.OK)
{
using (Transaction tr = db.TransactionManager.StartTransaction())
{
//do what you need with the entity
}
}
} while (entResult.Status == PromptStatus.OK || entResult.Status == PromptStatus.Keyword); //loops until nothing selected or entered