Here is how I have it setup in my Event Sheet, I am very new to construct 2, so if anyone has a more efficient way let me know. My background is as a developer so I am used to writing it in code as opposed to event sheets. Here is how my event sheet is setup:
I have two global variables in my eventsheet:
Global number playerRunSpeed = 600
Global number playerBaseSpeed = 330
I then have an event for the player holding the run button:
Keyboard B is down Player Set Platform maximum speed to playerRunSpeed
System Else Player Set Platform maximum speed to playerBaseSpeed
It doesn't matter if they have the left or right arrow down, as long as they have the B button held down, the maximum player speed is set to my run speed. If they are not moving this doesn't do anything, if they are moving they get the new maximum speed. You can also play with this a bit by setting the acceleration, etc... as needed if you want them to not instantly be going max speed when you hit the run button. I have also attached a screenshot of how it looks in my event sheet on skydrive, but as I am new to the scirra site I cannot post links yet. If you want me to send you the screenshot via email or some other method just let me know.