1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package net.sf.jameleon.plugin.jagacy.tags;
20
21 import java.util.HashMap;
22 import java.util.Map;
23
24 import net.sf.jameleon.plugin.jagacy.JagacyFunctionTag;
25
26 import com.jagacy.Key;
27
28 /***
29 * Enters a given key. The following keys are valid:
30 * 'ATTN', 'BACK TAB', 'BACKSPACE', 'CLEAR', 'DOWN ARROW', 'DUPLICATE', 'ENTER', 'ERASE EOF',
31 * 'ERASE INPUT', 'HOME', 'LEFT ARROW', 'NEWLINE', 'PA1', 'PA2', 'PA3', 'PF1', 'PF10', 'PF11',
32 * 'PF12', 'PF13', 'PF14', 'PF15', 'PF16', 'PF17', 'PF18', 'PF19', 'PF2', 'PF20', 'PF21', 'PF22'
33 * 'PF23', 'PF24', 'PF3', 'PF4', 'PF5', 'PF6', 'PF7', 'PF8', 'PF9', 'RESET', 'RIGHT ARROW',
34 * 'SYSREQ', 'TAB', 'UP ARROW'
35 * @author Christian Hargraves
36 * @jameleon.function name="jagacy-send-key" type="action"
37 */
38 public class JagacySendKeyTag extends JagacyFunctionTag{
39
40 protected static Map keys;
41 static{
42 keys = new HashMap();
43 keys.put(Key.ATTN_NAME, Key.ATTN_WAIT);
44 keys.put(Key.BACK_TAB_NAME, Key.BACK_TAB);
45 keys.put(Key.BACKSPACE_NAME, Key.BACKSPACE);
46 keys.put(Key.CLEAR_NAME, Key.CLEAR_WAIT);
47 keys.put(Key.DOWN_ARROW_NAME, Key.DOWN_ARROW);
48 keys.put(Key.DUPLICATE_NAME, Key.DUPLICATE);
49 keys.put(Key.ENTER_NAME, Key.ENTER_WAIT);
50 keys.put(Key.ERASE_EOF_NAME, Key.ERASE_EOF);
51 keys.put(Key.ERASE_INPUT_NAME, Key.ERASE_INPUT);
52 keys.put(Key.HOME_NAME, Key.HOME);
53 keys.put(Key.LEFT_ARROW_NAME, Key.LEFT_ARROW);
54 keys.put(Key.NEWLINE_NAME, Key.NEWLINE);
55 keys.put(Key.PA1_NAME, Key.PA1_WAIT);
56 keys.put(Key.PA2_NAME, Key.PA2_WAIT);
57 keys.put(Key.PA3_NAME, Key.PA3_WAIT);
58 keys.put(Key.PA3_NAME, Key.PA3_WAIT);
59 keys.put(Key.PF1_NAME, Key.PF1_WAIT);
60 keys.put(Key.PF2_NAME, Key.PF2_WAIT);
61 keys.put(Key.PF3_NAME, Key.PF3_WAIT);
62 keys.put(Key.PF4_NAME, Key.PF4_WAIT);
63 keys.put(Key.PF5_NAME, Key.PF5_WAIT);
64 keys.put(Key.PF6_NAME, Key.PF6_WAIT);
65 keys.put(Key.PF7_NAME, Key.PF7_WAIT);
66 keys.put(Key.PF8_NAME, Key.PF8_WAIT);
67 keys.put(Key.PF9_NAME, Key.PF9_WAIT);
68 keys.put(Key.PF10_NAME, Key.PF10_WAIT);
69 keys.put(Key.PF11_NAME, Key.PF11_WAIT);
70 keys.put(Key.PF12_NAME, Key.PF12_WAIT);
71 keys.put(Key.PF13_NAME, Key.PF13_WAIT);
72 keys.put(Key.PF14_NAME, Key.PF14_WAIT);
73 keys.put(Key.PF15_NAME, Key.PF15_WAIT);
74 keys.put(Key.PF16_NAME, Key.PF16_WAIT);
75 keys.put(Key.PF17_NAME, Key.PF17_WAIT);
76 keys.put(Key.PF18_NAME, Key.PF18_WAIT);
77 keys.put(Key.PF19_NAME, Key.PF19_WAIT);
78 keys.put(Key.PF20_NAME, Key.PF20_WAIT);
79 keys.put(Key.PF21_NAME, Key.PF21_WAIT);
80 keys.put(Key.PF22_NAME, Key.PF22_WAIT);
81 keys.put(Key.PF23_NAME, Key.PF23_WAIT);
82 keys.put(Key.PF24_NAME, Key.PF24_WAIT);
83 keys.put(Key.RESET_NAME, Key.RESET);
84 keys.put(Key.RIGHT_ARROW_NAME, Key.RIGHT_ARROW);
85 keys.put(Key.SYSREQ_NAME, Key.SYSREQ_WAIT);
86 keys.put(Key.TAB_NAME, Key.TAB);
87 keys.put(Key.UP_ARROW_NAME, Key.UP_ARROW_NAME);
88 }
89
90 /***
91 * The name of a key to send to the screen
92 * @jameleon.attribute required="true"
93 */
94 protected String key;
95
96 public void testBlock(){
97 if (keys.containsKey(key)) {
98 writeKey((Key)keys.get(key));
99 }else{
100 fail("'"+key+"' is not a valid key!");
101 }
102 }
103 }