1 package com.atlassian.selenium.keyboard;
2
3
4 import com.atlassian.webtest.ui.keys.SpecialKey;
5 import com.atlassian.webtest.ui.keys.SpecialKeys;
6
7 import java.awt.event.KeyEvent;
8
9
10
11
12
13
14
15
16 public enum SeleniumSpecialKeys
17 {
18
19
20 ENTER(SpecialKeys.ENTER, 13),
21 ESC(SpecialKeys.ESC, KeyEvent.VK_ESCAPE),
22 DELETE(SpecialKeys.DELETE, KeyEvent.VK_DELETE),
23 SPACE(SpecialKeys.SPACE, KeyEvent.VK_SPACE),
24 BACKSPACE(SpecialKeys.BACKSPACE, KeyEvent.VK_BACK_SPACE),
25 ARROW_UP(SpecialKeys.ARROW_UP, KeyEvent.VK_UP),
26 ARROW_DOWN(SpecialKeys.ARROW_DOWN, KeyEvent.VK_DOWN),
27 ARROW_LEFT(SpecialKeys.ARROW_LEFT, KeyEvent.VK_LEFT),
28 ARROW_RIGHT(SpecialKeys.ARROW_RIGHT, KeyEvent.VK_RIGHT);
29
30
31 private final SpecialKey specialKey;
32 private final int keyCode;
33
34
35 SeleniumSpecialKeys(SpecialKey key, int keyCode)
36 {
37 this.specialKey = key;
38 this.keyCode = keyCode;
39 }
40
41
42 public static SeleniumSpecialKeys forKey(SpecialKey specialKey)
43 {
44 for (SeleniumSpecialKeys key : values())
45 {
46 if (key.specialKey == specialKey)
47 {
48 return key;
49 }
50 }
51 throw new IllegalArgumentException("No Selenium special key for " + specialKey);
52 }
53
54 public int keyCode()
55 {
56 return keyCode;
57 }
58 }