"He's a player, in an ideal world, you would not want to lose, but I just want to make it absolutely clear that at the end of the day, it was my decision to sell him," Keegan told Sky Sports News.
"We got an offer that I feel was his value. We are all aware James has had a difficult time - he almost signed for them once before and was dragged back.
"But he has always behaved impeccably. He's a fantastic professional, and there's no doubt about it, they've got an outstanding player and we have got to move on.
"While to the fans it might not look like a positive move at the moment, I think with what will happen in the next few days and in the future - most of the things will be positive.
"I've really enjoyed working with him and I sure Martin O'Neill will do to because you can't beat working with excellent professionals.
"I wouldn't have sold him if at the end of the day I didn't believe it would move the club forward.
"What has happened is right for everybody. The only thing that I can say is the lad has done nothing wrong, the fans shouldn't think that.
"He deserves the move that at the end of the day I think he wanted."