Born in South Africa, Keegan played for Kwa-Zulu Natal during his youth before moving to England and becoming an MCC Young Cricketer.
He made his Middlesex debut in 2001 and was awarded his county cap in 2003 after taking 50 first-class wickets.
The seamer was also named Middlesex player of the year in the same season.
Injury kept him out for much of the 2005 campaign and he only played in three games for the club.
He returned in 2006 and took 19 wickets in 1- matches and then re-signed for the 2007 season, but was released at the end of that summer after playing just nine matches for the club.
Keegan was taken on trial by Sussex in early 2009 as cover in the seam-bowling department.