Keith Barker claimed four for 23 after Michael Burgess and Alex Davies tenaciously ground down Hampshire to chaperon Warwickshire into day four.