Why both shift and shiftKey?