@@ -34,14 +34,14 @@ void Term::Event::parse()
3434 if (m_str.size () == 1 )
3535 {
3636 m_Type = Type::Key;
37- m_Key = static_cast <Term::Key::Value>(m_str[0 ]);
37+ m_Key = Key ( static_cast <Term::Key::Value>(m_str[0 ]) );
3838 /* Backspace return 127 CTRL+backspace return 8 */
39- if (m_Key == Term::Key::Value::DEL) m_Key = Term::Key::Value::BACKSPACE;
39+ if (m_Key == Term::Key::Value::DEL) m_Key = Key ( Term::Key::Value::BACKSPACE) ;
4040 m_str.clear ();
4141 }
4242 else if (m_str.size () == 2 && m_str[0 ] == ' \033 ' )
4343 {
44- m_Key = static_cast <Term::Key::Value>(Term::Key::Value::ALT + static_cast <Term::Key::Value>(m_str[1 ]));
44+ m_Key = Key ( static_cast <Term::Key::Value>(Term::Key::Value::ALT + static_cast <Term::Key::Value>(m_str[1 ]) ));
4545 m_Type = Type::Key;
4646 m_str.clear ();
4747 }
@@ -50,8 +50,7 @@ void Term::Event::parse()
5050 std::size_t found = m_str.find (' ;' , 2 );
5151 if (found != std::string::npos)
5252 {
53- m_Type = Type::Cursor;
54-
53+ m_Type = Type::Cursor;
5554 m_Cursor = Cursor (std::stoi (m_str.substr (2 , found - 2 )), std::stoi (m_str.substr (found + 1 , m_str.size () - (found + 2 ))));
5655 }
5756 }
@@ -75,13 +74,13 @@ void Term::Event::parse()
7574 * Cursor Left | ESC D
7675 * -------------+--------------------
7776 */
78- if (m_str == " \033 OA" || m_str == " \033 [A" || m_str == " \033 A" ) m_Key = Term::Key::Value::ARROW_UP;
77+ if (m_str == " \033 OA" || m_str == " \033 [A" || m_str == " \033 A" ) m_Key = Key ( Term::Key::Value::ARROW_UP) ;
7978 else if (m_str == " \033 OB" || m_str == " \033 [B" || m_str == " \033 B" )
80- m_Key = Term::Key::Value::ARROW_DOWN;
79+ m_Key = Key ( Term::Key::Value::ARROW_DOWN) ;
8180 else if (m_str == " \033 OC" || m_str == " \033 [C" || m_str == " \033 C" )
82- m_Key = Term::Key::Value::ARROW_RIGHT;
81+ m_Key = Key ( Term::Key::Value::ARROW_RIGHT) ;
8382 else if (m_str == " \033 OD" || m_str == " \033 [D" || m_str == " \033 D" )
84- m_Key = Term::Key::Value::ARROW_LEFT;
83+ m_Key = Key ( Term::Key::Value::ARROW_LEFT) ;
8584 /*
8685 * Key Normal Application
8786 * ---------+----------+-------------
@@ -90,9 +89,9 @@ void Term::Event::parse()
9089 * ---------+----------+-------------
9190 */
9291 else if (m_str == " \033 OH" || m_str == " \033 [H" )
93- m_Key = Term::Key::Value::HOME;
92+ m_Key = Key ( Term::Key::Value::HOME) ;
9493 else if (m_str == " \033 OF" || m_str == " \033 [F" )
95- m_Key = Term::Key::Value::END;
94+ m_Key = Key ( Term::Key::Value::END) ;
9695 /*
9796 * Key Escape Sequence
9897 * ---------+-----------------
@@ -115,29 +114,29 @@ void Term::Event::parse()
115114 * ---------+-----------------
116115 */
117116 else if (m_str == " \033 OP" || m_str == " \033 [11~" )
118- m_Key = Term::Key::Value::F1;
117+ m_Key = Key ( Term::Key::Value::F1) ;
119118 else if (m_str == " \033 OQ" || m_str == " \033 [12~" )
120- m_Key = Term::Key::Value::F2;
119+ m_Key = Key ( Term::Key::Value::F2) ;
121120 else if (m_str == " \033 OR" || m_str == " \033 [13~" )
122- m_Key = Term::Key::Value::F3;
121+ m_Key = Key ( Term::Key::Value::F3) ;
123122 else if (m_str == " \033 OS" || m_str == " \033 [14~" )
124- m_Key = Term::Key::Value::F4;
123+ m_Key = Key ( Term::Key::Value::F4) ;
125124 else if (m_str == " \033 [15~" )
126- m_Key = Term::Key::Value::F5;
125+ m_Key = Key ( Term::Key::Value::F5) ;
127126 else if (m_str == " \033 [17~" )
128- m_Key = Term::Key::Value::F6;
127+ m_Key = Key ( Term::Key::Value::F6) ;
129128 else if (m_str == " \033 [18~" )
130- m_Key = Term::Key::Value::F7;
129+ m_Key = Key ( Term::Key::Value::F7) ;
131130 else if (m_str == " \033 [19~" )
132- m_Key = Term::Key::Value::F8;
131+ m_Key = Key ( Term::Key::Value::F8) ;
133132 else if (m_str == " \033 [20~" )
134- m_Key = Term::Key::Value::F9;
133+ m_Key = Key ( Term::Key::Value::F9) ;
135134 else if (m_str == " \033 [21~" )
136- m_Key = Term::Key::Value::F10;
135+ m_Key = Key ( Term::Key::Value::F10) ;
137136 else if (m_str == " \033 [23~" )
138- m_Key = Term::Key::Value::F11;
137+ m_Key = Key ( Term::Key::Value::F11) ;
139138 else if (m_str == " \033 [24~" )
140- m_Key = Term::Key::Value::F12;
139+ m_Key = Key ( Term::Key::Value::F12) ;
141140 /*
142141 * Key Normal Application
143142 * ---------+----------+-------------
@@ -150,17 +149,17 @@ void Term::Event::parse()
150149 * ---------+----------+-------------
151150 */
152151 else if (m_str == " \033 [2~" )
153- m_Key = Term::Key::Value::INSERT;
152+ m_Key = Key ( Term::Key::Value::INSERT) ;
154153 else if (m_str == " \033 [3~" )
155- m_Key = Term::Key::Value::DEL;
154+ m_Key = Key ( Term::Key::Value::DEL) ;
156155 else if (m_str == " \033 [1~" )
157- m_Key = Term::Key::Value::HOME;
156+ m_Key = Key ( Term::Key::Value::HOME) ;
158157 else if (m_str == " \033 [4~" )
159- m_Key = Term::Key::Value::END;
158+ m_Key = Key ( Term::Key::Value::END) ;
160159 else if (m_str == " \033 [5~" )
161- m_Key = Term::Key::Value::PAGE_UP;
160+ m_Key = Key ( Term::Key::Value::PAGE_UP) ;
162161 else if (m_str == " \033 [6~" )
163- m_Key = Term::Key::Value::PAGE_DOWN;
162+ m_Key = Key ( Term::Key::Value::PAGE_DOWN) ;
164163 /*
165164 * Key Escape Sequence
166165 * ---------+-----------------
@@ -175,21 +174,23 @@ void Term::Event::parse()
175174 * ---------+-----------------
176175 */
177176 else if (m_str == " \033 [25~" )
178- m_Key = Term::Key::Value::F13;
177+ m_Key = Key ( Term::Key::Value::F13) ;
179178 else if (m_str == " \033 [26~" )
180- m_Key = Term::Key::Value::F14;
179+ m_Key = Key ( Term::Key::Value::F14) ;
181180 else if (m_str == " \033 [28~" )
182- m_Key = Term::Key::Value::F15;
181+ m_Key = Key ( Term::Key::Value::F15) ;
183182 else if (m_str == " \033 [29~" )
184- m_Key = Term::Key::Value::F16;
183+ m_Key = Key ( Term::Key::Value::F16) ;
185184 else if (m_str == " \033 [31~" )
186- m_Key = Term::Key::Value::F17;
185+ m_Key = Key ( Term::Key::Value::F17) ;
187186 else if (m_str == " \033 [32~" )
188- m_Key = Term::Key::Value::F18;
187+ m_Key = Key ( Term::Key::Value::F18) ;
189188 else if (m_str == " \033 [33~" )
190- m_Key = Term::Key::Value::F19;
189+ m_Key = Key ( Term::Key::Value::F19) ;
191190 else if (m_str == " \033 [34~" )
192- m_Key = Term::Key::Value::F20;
191+ m_Key = Key (Term::Key::Value::F20);
192+ else if (m_str == " \033 [G" )
193+ m_Key = Key (Term::Key::Value::NUMERIC_5);
193194 if (!m_Key.empty ())
194195 {
195196 m_Type = Type::Key;
0 commit comments