Power and Independently Control 6 Continuous Rotation Servos

So I should be receiving all my parts in this week. I've been reading a lot on Arduino in the mean time and there still seems to be some confusion for me regarding the continuous rotation servos.

I have ordered these servos and plan to use them with the Arduino Uno: http://robots.allthingsgeek.com/continuous-rotation-micro-servo.html

My idea is to connect the Arduino to the computer via USB and power the 6 servos using a battery pack. (I'm still trying to figure out those logistics). Unfortunately, I don't know the servo's power ratings. I know that I'll need to worry more about my current. So I'm currently thinking a 6V(does a 7.4V lipo do the job? since they're rated 4.8v-6v) 1000mAh 10C lipo battery. With all 6 running at the same time (not very likely), I think this should allow me to get about 10 minutes of run time with this assuming each servo draws 1A while running. Just have to figure out how to implement at BEC into this as well. I was planning on powering the arduino with the USB already plugged into the computer.

I have read a few threads on continuous rotation servos and the code that some people have posted. Although, I'm not sure if I need for my stuff to be as complicated as that.

I just want to be able to control the 6 servos independently and I'd love to modify the code to just provide some hotkeys on my keyboard. That is if I press "w" then all 6 servos will run in the forward direction. If I press "d" then only the left 3 servos will run (allowing me to turn right). etc.

But then I also want the fluidity to say if I press "q" or "e" then only certain motors will run.

Can anyone point me to which servo library I should be looking to modify? I'm hoping to get this put together by the end of next week. I have some time to play around with this stuff and I have done some programming before (I'm not comp sci or electrical engineer) but need some guidance so I don't screw something up. I have never used Arduino before.

Thanks in Advance.

You shouldn't be looking to modify the Servo library, you should be looking to build a sketch using it. Zoomkat regularly posts useful sketches to control servos - see if you can adapt one.

Some simple servo test code you can tinker with using the serial monitor. If you want single keystroke changes, you will need to write an application (or maybe use hyperterminal on a winfows machine) to send the character out the serial port when the key is pressed.

// zoomkat 11-14-11 serial servo test
// type servo position 1f, 1r, xx, etc. in serial monitor and enter
// Powering a servo from the arduino usually DOES NOT WORK.

String readString;
#include <Servo.h> 
Servo myservo1;  // create servo object to control a servo 
Servo myservo2;

void setup() {
  Serial.begin(9600);
  myservo1.writeMicroseconds(1500); //set initial servo position if desired
  myservo2.writeMicroseconds(1500); //set initial servo position if desired
  myservo1.attach(6);  //the pin for the servo control 
  myservo2.attach(7); 
  Serial.println("servo-test-22"); // so I can keep track of what is loaded
}

void loop() {
  while (Serial.available()) {
    char c = Serial.read();  //gets one byte from serial buffer
    readString += c; //makes the string readString
    delay(2);  // allow buffer to fill with next character
    }

if (readString.length() >0) {
    Serial.println(readString);  //so you can see the captured string 
    
    if (readString == "1f") myservo1.writeMicroseconds(2000);
    if (readString == "1r") myservo1.writeMicroseconds(1000);
    if (readString == "1x") myservo1.writeMicroseconds(1500);    
    
    if (readString == "2f") myservo2.writeMicroseconds(2000);
    if (readString == "2r") myservo2.writeMicroseconds(1000);
    if (readString == "2x") myservo2.writeMicroseconds(1500);    

    if (readString == "xx"){
      myservo1.writeMicroseconds(1500);
      myservo2.writeMicroseconds(1500); 
      }
    if (readString == "ff"){
      myservo1.writeMicroseconds(2000);
      myservo2.writeMicroseconds(2000); 
      }
    if (readString == "rr"){
      myservo1.writeMicroseconds(1000);
      myservo2.writeMicroseconds(1000); 
      }
    readString=""; //empty for next input
  } 
}