You can periodically store the randomly generated value to internal EEPROM, then read and use that value as your random seed the next time the microcontroller boots.
The random seed is then randomized by how long the pedal ran last time (whenever that was), which is pretty dang random unless you know exactly how long the pedal was powered up (in milliseconds) last time, and what the random seed was on that previous boot.
The way I used to do it was run a checksum on RAM right after boot. Since the vast majority of RAM was not initialized, the result was highly variable.
I agree that using something the user does to seed a PRG is about as random as you can get.