It should be noted that with the release of player scripts v2 soonish, this specific method will break and the way you get the input vector from the control script will be slightly different.
Would you happen to know what the values of this vector represent? On a keyboard, the values are integers -1, 0, 1 for x, y, z depending on the direction you are going. But for the mobile controls the values are real numbers over a wider number range.
The X and Z values are a 2D vector that represents the direction of the movement input. For keyboard, X and Z can only be -1, 0, or 1, but with the mobile thumbstick and gamepad there is analog control, so the vector components are not discrete. In this case, the magnitude of the vector is used for walkspeed control.