3 * Copyright 2011-2017 Anthon Pang. All Rights Reserved.
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
19 * @author Anthon Pang <apang@softwaredevelopment.ca>
20 * @author Fabrizio Branca <mail@fabrizio-branca.de>
33 * The Unicode "Private Use Area" code points (0xE000-0xF8FF) are used to represent
34 * pressable, non-text keys.
36 * @link http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/element/:id/value
38 * key_name = "UTF-8"; // UCS-2
40 const NULL_KEY = "\xEE\x80\x80"; // E000
41 const CANCEL = "\xEE\x80\x81"; // E001
42 const HELP = "\xEE\x80\x82"; // E002
43 const BACKSPACE = "\xEE\x80\x83"; // E003
44 const TAB = "\xEE\x80\x84"; // E004
45 const CLEAR = "\xEE\x80\x85"; // E005
46 const RETURN_KEY = "\xEE\x80\x86"; // E006
47 const ENTER = "\xEE\x80\x87"; // E007
48 const SHIFT = "\xEE\x80\x88"; // E008
49 const CONTROL = "\xEE\x80\x89"; // E009
50 const ALT = "\xEE\x80\x8A"; // E00A
51 const PAUSE = "\xEE\x80\x8B"; // E00B
52 const ESCAPE = "\xEE\x80\x8C"; // E00C
53 const SPACE = "\xEE\x80\x8D"; // E00D
54 const PAGE_UP = "\xEE\x80\x8E"; // E00E
55 const PAGE_DOWN = "\xEE\x80\x8F"; // E00F
56 const END = "\xEE\x80\x90"; // E010
57 const HOME = "\xEE\x80\x91"; // E011
58 const LEFT_ARROW = "\xEE\x80\x92"; // E012
59 const UP_ARROW = "\xEE\x80\x93"; // E013
60 const RIGHT_ARROW = "\xEE\x80\x94"; // E014
61 const DOWN_ARROW = "\xEE\x80\x95"; // E015
62 const INSERT = "\xEE\x80\x96"; // E016
63 const DELETE = "\xEE\x80\x97"; // E017
64 const SEMICOLON = "\xEE\x80\x98"; // E018
65 const EQUALS = "\xEE\x80\x99"; // E019
66 const NUMPAD_0 = "\xEE\x80\x9A"; // E01A
67 const NUMPAD_1 = "\xEE\x80\x9B"; // E01B
68 const NUMPAD_2 = "\xEE\x80\x9C"; // E01C
69 const NUMPAD_3 = "\xEE\x80\x9D"; // E01D
70 const NUMPAD_4 = "\xEE\x80\x9E"; // E01E
71 const NUMPAD_5 = "\xEE\x80\x9F"; // E01F
72 const NUMPAD_6 = "\xEE\x80\xA0"; // E020
73 const NUMPAD_7 = "\xEE\x80\xA1"; // E021
74 const NUMPAD_8 = "\xEE\x80\xA2"; // E022
75 const NUMPAD_9 = "\xEE\x80\xA3"; // E023
76 const MULTIPLY = "\xEE\x80\xA4"; // E024
77 const ADD = "\xEE\x80\xA5"; // E025
78 const SEPARATOR = "\xEE\x80\xA6"; // E026
79 const SUBTRACT = "\xEE\x80\xA7"; // E027
80 const DECIMAL = "\xEE\x80\xA8"; // E028
81 const DIVIDE = "\xEE\x80\xA9"; // E029
82 const F1 = "\xEE\x80\xB1"; // E031
83 const F2 = "\xEE\x80\xB2"; // E032
84 const F3 = "\xEE\x80\xB3"; // E033
85 const F4 = "\xEE\x80\xB4"; // E034
86 const F5 = "\xEE\x80\xB5"; // E035
87 const F6 = "\xEE\x80\xB6"; // E036
88 const F7 = "\xEE\x80\xB7"; // E037
89 const F8 = "\xEE\x80\xB8"; // E038
90 const F9 = "\xEE\x80\xB9"; // E039
91 const F10 = "\xEE\x80\xBA"; // E03A
92 const F11 = "\xEE\x80\xBB"; // E03B
93 const F12 = "\xEE\x80\xBC"; // E03C
94 const COMMAND = "\xEE\x80\xBD"; // E03D
95 const META = "\xEE\x80\xBD"; // E03D