1 #ifndef __SEATALK__KEY__HPP__
2 #define __SEATALK__KEY__HPP__
12 /// Enumeration of all supported keystrokes, regardless of possible
13 /// origin for keystrokes (not all origins can send all keystrokes).
15 /// The enumeration also contains all unused codes up to somewhere `0x8f`.
17 /// This must be an `enum class` in order to prevent combinations
18 /// of the listed keystrokes, they are not supposed to be combined.
20 enum class key
: uint8_t {
22 key_auto
= 0x01, ///< Auto
23 key_standby
= 0x02, ///< Standby
24 key_track
= 0x03, ///< Track
25 key_disp
= 0x04, ///< Disp
26 key_m1
= 0x05, ///< -1
27 key_m10
= 0x06, ///< -10
28 key_p1
= 0x07, ///< +1
29 key_p10
= 0x08, ///< +10
30 key_m1_rg
= 0x09, ///< -1 (rudder gain mode)
31 key_p1_rg
= 0x0a, ///< +1 (rudder gain mode)
54 key_p1_m1
= 0x20, ///< +1 & -1
55 key_m1_m10
= 0x21, ///< -1 & -10
56 key_p1_p10
= 0x22, ///< +1 & -10
57 key_standby_auto
= 0x23, ///< Standby & Auto
62 key_p10_m10
= 0x28, ///< +10 & -10
68 key_p1_m1_rd
= 0x2e, ///< +1 & -1 (Response Display)
88 key_auto_long
= 0x41, ///< Auto pressed longer
89 key_standby_long
= 0x42, ///< Standby pressed longer
90 key_track_long
= 0x43, ///< Track pressed longer
91 key_disp_long
= 0x44, ///< Disp pressed longer
92 key_m1_long
= 0x45, ///< -1 pressed longer
93 key_m10_long
= 0x46, ///< -10 pressed longer
94 key_p1_long
= 0x47, ///< +1 pressed longer
95 key_p10_long
= 0x48, ///< +10 pressed longer
119 key_p1_m1_long
= 0x60, ///< +1 & -1 pressed longer
120 key_p1_m10_long
= 0x61, ///< -1 & -10 pressed longer
121 key_p1_p10_long
= 0x62, ///< +1 & +10 pressed longer
122 key_standby_auto_long
= 0x63, ///< Standby & Auto pressed longer (previous wind angle)
123 key_p10_m10_long_s
= 0x64, ///< +10 & -10 pressed longer (why not 11 68 97 ?)
127 key_p10_m10_long
= 0x68, ///< +10 & -10 pressed longer (in auto mode)
133 key_p1_m1_long_rg
= 0x6e, ///< +1 & -1 pressed longer (Rudder Gain Display)
151 key_m1_repeat
= 0x80, ///< -1 pressed (repeated 1x per second)
152 key_p1_repeat
= 0x81, ///< +1 pressed (repeated 1x per second)
153 key_m10_repeat
= 0x82, ///< -10 pressed (repeated 1x per second)
154 key_p10_repeat
= 0x83, ///< +10 pressed (repeated 1x per second)
155 key_num_release
= 0x84, ///< +1, -1, +10 or -10 released
157 // ... and all until 0xff ...