added support for keyboard modifier keys