3 * Read the file COPYING
5 * Keyboard modifier state representation.
9 * Full author contact details are available in file CREDITS
15 /// modifier key states
16 namespace key_modifier {
18 none = 0, //< no modifiers held
19 ctrl = 1, //< control button held
20 alt = 2, //< alt/meta key held
21 shift = 4 //< shift key held
25 inline state operator|(state const & s1, state const & s2)
27 int const i1(static_cast<int>(s1));
28 int const i2(static_cast<int>(s2));
29 return static_cast<state>(i1 | i2);
33 inline void operator|=(state & s1, state s2)
35 s1 = static_cast<state>(s1 | s2);
38 } // namespace key_modifier