diff --git a/lib/src/keys.dart b/lib/src/keys.dart
new file mode 100644
index 0000000..584fede
--- /dev/null
+++ b/lib/src/keys.dart
@@ -0,0 +1,62 @@
+part of webdriver;
+
+class Keys {
+  static const String NULL = '\uE000';
+  static const String CANCEL = '\uE001';
+  static const String HELP = '\uE002';
+  static const String BACK_SPACE = '\uE003';
+  static const String TAB = '\uE004';
+  static const String CLEAR = '\uE005';
+  static const String RETURN = '\uE006';
+  static const String ENTER = '\uE007';
+  static const String SHIFT = '\uE008';
+  static const String CONTROL = '\uE009';
+  static const String ALT = '\uE00A';
+  static const String PAUSE = '\uE00B';
+  static const String ESCAPE = '\uE00C';
+  static const String SPACE = '\uE00D';
+  static const String PAGE_UP = '\uE00E';
+  static const String PAGE_DOWN = '\uE00F';
+  static const String END = '\uE010';
+  static const String HOME = '\uE011';
+  static const String LEFT = '\uE012';
+  static const String UP = '\uE013';
+  static const String RIGHT = '\uE014';
+  static const String DOWN = '\uE015';
+  static const String INSERT = '\uE016';
+  static const String DELETE = '\uE017';
+  static const String SEMICOLON = '\uE018';
+  static const String EQUALS = '\uE019';
+  static const String NUMPAD_0 = '\uE01A';
+  static const String NUMPAD_1 = '\uE01B';
+  static const String NUMPAD_2 = '\uE01C';
+  static const String NUMPAD_3 = '\uE01D';
+  static const String NUMPAD_4 = '\uE01E';
+  static const String NUMPAD_5 = '\uE01F';
+  static const String NUMPAD_6 = '\uE020';
+  static const String NUMPAD_7 = '\uE021';
+  static const String NUMPAD_8 = '\uE022';
+  static const String NUMPAD_9 = '\uE023';
+
+  static const String MULTIPLY = '\uE024';
+  static const String ADD = '\uE025';
+  static const String SEPARATOR = '\uE026';
+  static const String SUBTRACT = '\uE027';
+  static const String DECIMAL = '\uE028';
+  static const String DIVIDE = '\uE029';
+  static const String F1 = '\uE031';
+  static const String F2 = '\uE032';
+  static const String F3 = '\uE033';
+  static const String F4 = '\uE034';
+  static const String F5 = '\uE035';
+  static const String F6 = '\uE036';
+  static const String F7 = '\uE037';
+  static const String F8 = '\uE038';
+  static const String F9 = '\uE039';
+  static const String F10 = '\uE03A';
+  static const String F11 = '\uE03B';
+  static const String F12 = '\uE03C';
+  static const String COMMAND = '\uE03D';
+  static const String META = COMMAND; // alias
+
+}
\ No newline at end of file
diff --git a/lib/webdriver.dart b/lib/webdriver.dart
index ee89617..387e6bc 100644
--- a/lib/webdriver.dart
+++ b/lib/webdriver.dart
@@ -15,6 +15,7 @@
 part 'src/command_processor.dart';
 part 'src/common.dart';
 part 'src/keyboard.dart';
+part 'src/keys.dart';
 part 'src/mouse.dart';
 part 'src/navigation.dart';
 part 'src/options.dart';
diff --git a/test/src/keyboard_test.dart b/test/src/keyboard_test.dart
index c71ed7a..4ea484f 100644
--- a/test/src/keyboard_test.dart
+++ b/test/src/keyboard_test.dart
@@ -11,7 +11,7 @@
       WebElement textInput;
 
       setUp(() {
-        return WebDriver.createDriver()
+        return WebDriver.createDriver(desiredCapabilities: Capabilities.chrome)
             .then((_driver) => driver = _driver)
             .then((_) => driver.get('file://' + file.fullPathSync()))
             .then((_) =>
@@ -45,6 +45,16 @@
               expect(value, 'abcdef');
             });
       });
+
+      // doesn't work with chromedriver
+      // https://code.google.com/p/chromedriver/issues/detail?id=443
+      test('sendKeys -- with tab', () {
+        return driver.keyboard.sendKeys(['abc', Keys.TAB, 'def'])
+            .then((_) => textInput.attributes['value'])
+            .then((value) {
+              expect(value, 'abc');
+            });
+      });
     });
   }
 }
