Thanks for the feedback. The key bindings seem to be a common issue...
The mushroom bounce is hard coded. Whenever the player character detects a collision with a mushroom, a set upward velocity is applied to it. Then it stops checking for collisions with mushrooms for the next couple of frames (to account for the frames it takes for the player and mushroom to stop touching).