72
72
sets all high keys.
74
74
#define MI_KEYMAP_BITS (8 * SIZEOF_LONG_LONG)
75
#define MI_KEYMAP_HIGH_MASK (ULL(1) << (MI_KEYMAP_BITS - 1))
75
#define MI_KEYMAP_HIGH_MASK (1ULL << (MI_KEYMAP_BITS - 1))
76
76
#define mi_get_mask_all_keys_active(_keys_) \
77
77
(((_keys_) < MI_KEYMAP_BITS) ? \
78
((ULL(1) << (_keys_)) - ULL(1)) : \
78
((1ULL << (_keys_)) - 1ULL) : \
81
81
#if MI_MAX_KEY > MI_KEYMAP_BITS
83
83
#define mi_is_key_active(_keymap_,_keyno_) \
84
84
(((_keyno_) < MI_KEYMAP_BITS) ? \
85
test((_keymap_) & (ULL(1) << (_keyno_))) : \
85
test((_keymap_) & (1ULL << (_keyno_))) : \
86
86
test((_keymap_) & MI_KEYMAP_HIGH_MASK))
87
87
#define mi_set_key_active(_keymap_,_keyno_) \
88
88
(_keymap_)|= (((_keyno_) < MI_KEYMAP_BITS) ? \
89
(ULL(1) << (_keyno_)) : \
89
(1ULL << (_keyno_)) : \
90
90
MI_KEYMAP_HIGH_MASK)
91
91
#define mi_clear_key_active(_keymap_,_keyno_) \
92
92
(_keymap_)&= (((_keyno_) < MI_KEYMAP_BITS) ? \
93
(~ (ULL(1) << (_keyno_))) : \
94
(~ (ULL(0))) /*ignore*/ )
93
(~ (1ULL << (_keyno_))) : \
94
(~ (0ULL)) /*ignore*/ )
98
98
#define mi_is_key_active(_keymap_,_keyno_) \
99
test((_keymap_) & (ULL(1) << (_keyno_)))
99
test((_keymap_) & (1ULL << (_keyno_)))
100
100
#define mi_set_key_active(_keymap_,_keyno_) \
101
(_keymap_)|= (ULL(1) << (_keyno_))
101
(_keymap_)|= (1ULL << (_keyno_))
102
102
#define mi_clear_key_active(_keymap_,_keyno_) \
103
(_keymap_)&= (~ (ULL(1) << (_keyno_)))
103
(_keymap_)&= (~ (1ULL << (_keyno_)))