Event modifier code addition

This could do with tidying - in particular the eval code. Not happy with adding 'Alternate' key but sadly necessary.