Here's a simple implementation of what djaydino and Twood are describing:

The listener simply gets mouse button down and stores the result in the isFiring bool (but all you really need to do is fire the event, state 2 does all the heavy lifting).

The second state runs Get Mouse Button every frame and isFiring will return false when the mouse button is released. In my project, I have additional criteria that must be satisfied in order to shoot so I'm using Bool All True, but I stuck the Bool Test in there at the bottom to show you what it would look like in your case.

The final state just spawns my shot from the pool and I'm using the Wait action to determine fire rate, after which it returns to the Bool Op state and continues to fire through that little loop every 0.4 until the mouse button is released and isFiring returns False. PEW PEW PEW!