@@ -141,30 +141,46 @@ pub unsafe fn convert(
141141 let code = code. try_into ( ) . ok ( ) ?;
142142 let flags = cg_event. get_flags ( ) ;
143143 let key = key_from_code ( code) ;
144-
144+
145145 // Determine if this is a press or release based on flag changes
146- let event = if flags. contains ( CGEventFlags :: CGEventFlagShift ) && !LAST_FLAGS . contains ( CGEventFlags :: CGEventFlagShift ) {
146+ let event = if flags. contains ( CGEventFlags :: CGEventFlagShift )
147+ && !LAST_FLAGS . contains ( CGEventFlags :: CGEventFlagShift )
148+ {
147149 LAST_FLAGS = flags;
148150 Some ( EventType :: KeyPress ( key) )
149- } else if !flags. contains ( CGEventFlags :: CGEventFlagShift ) && LAST_FLAGS . contains ( CGEventFlags :: CGEventFlagShift ) {
151+ } else if !flags. contains ( CGEventFlags :: CGEventFlagShift )
152+ && LAST_FLAGS . contains ( CGEventFlags :: CGEventFlagShift )
153+ {
150154 LAST_FLAGS = flags;
151155 Some ( EventType :: KeyRelease ( key) )
152- } else if flags. contains ( CGEventFlags :: CGEventFlagControl ) && !LAST_FLAGS . contains ( CGEventFlags :: CGEventFlagControl ) {
156+ } else if flags. contains ( CGEventFlags :: CGEventFlagControl )
157+ && !LAST_FLAGS . contains ( CGEventFlags :: CGEventFlagControl )
158+ {
153159 LAST_FLAGS = flags;
154160 Some ( EventType :: KeyPress ( key) )
155- } else if !flags. contains ( CGEventFlags :: CGEventFlagControl ) && LAST_FLAGS . contains ( CGEventFlags :: CGEventFlagControl ) {
161+ } else if !flags. contains ( CGEventFlags :: CGEventFlagControl )
162+ && LAST_FLAGS . contains ( CGEventFlags :: CGEventFlagControl )
163+ {
156164 LAST_FLAGS = flags;
157165 Some ( EventType :: KeyRelease ( key) )
158- } else if flags. contains ( CGEventFlags :: CGEventFlagAlternate ) && !LAST_FLAGS . contains ( CGEventFlags :: CGEventFlagAlternate ) {
166+ } else if flags. contains ( CGEventFlags :: CGEventFlagAlternate )
167+ && !LAST_FLAGS . contains ( CGEventFlags :: CGEventFlagAlternate )
168+ {
159169 LAST_FLAGS = flags;
160170 Some ( EventType :: KeyPress ( key) )
161- } else if !flags. contains ( CGEventFlags :: CGEventFlagAlternate ) && LAST_FLAGS . contains ( CGEventFlags :: CGEventFlagAlternate ) {
171+ } else if !flags. contains ( CGEventFlags :: CGEventFlagAlternate )
172+ && LAST_FLAGS . contains ( CGEventFlags :: CGEventFlagAlternate )
173+ {
162174 LAST_FLAGS = flags;
163175 Some ( EventType :: KeyRelease ( key) )
164- } else if flags. contains ( CGEventFlags :: CGEventFlagCommand ) && !LAST_FLAGS . contains ( CGEventFlags :: CGEventFlagCommand ) {
176+ } else if flags. contains ( CGEventFlags :: CGEventFlagCommand )
177+ && !LAST_FLAGS . contains ( CGEventFlags :: CGEventFlagCommand )
178+ {
165179 LAST_FLAGS = flags;
166180 Some ( EventType :: KeyPress ( key) )
167- } else if !flags. contains ( CGEventFlags :: CGEventFlagCommand ) && LAST_FLAGS . contains ( CGEventFlags :: CGEventFlagCommand ) {
181+ } else if !flags. contains ( CGEventFlags :: CGEventFlagCommand )
182+ && LAST_FLAGS . contains ( CGEventFlags :: CGEventFlagCommand )
183+ {
168184 LAST_FLAGS = flags;
169185 Some ( EventType :: KeyRelease ( key) )
170186 } else {
0 commit comments