I think you need to modify only one axis at a time or your scrolling will be funny. e.g. for scrolling stuff you need to define boundaries, direction and speed, you may have absolute screen boundaries or relative surface boundaries.