分两部分来
1.have sb done sth 是一个固定词组,意思是让某人做了谋事.所以是have kept you
2.waiting在这里是形容一种状态.
语言很多都是固定用法,一回生二回熟,祝你学业进步!
希望能被采纳.