Can I mention that you can use a solid X displacement and still get an uneven walk by "nudging" the animation?
I don't feel like doing it right now, but nudging is the art of doing small displacements in the animation, so that it jerks when walking in place, yet moves correctly when moving x pixels at a time...
It's a necessary skill for any animator with lazy programmers (read programmers programming with restrictions)