I just worked on an identical mechanic and didn't find an acceptable solution yet, so I just left it to have a normal attack when the button is held down for now.
You could do it by having the normal attack activate on button release instead of button pressed, but it doesn't feel quite right.
Another thing to try is setting a timer on button down, so if the button isn't released by 0.1 seconds
(or some other small amount of time)
start charge, else do a normal attack. That might work, but I have yet to try it.