I can't seem to dig up the code at this point in time, but my team did do strafing last year. All of our code is on GitHub, at
https://github.com/frc2399/2014-code...libj/templates. The way we implemented strafing is a bit complicated. Check out the JoystickDrive and OI files for more information. I'd explain it further, but I think the code would do a better job explaining then I would. Good luck and let me know how it goes!