@@ -116,7 +116,7 @@ bool dispatch_key_press(uint64_t timestamp, CGEventRef event_ref) {
116116
117117 // Populate key pressed event.
118118 uio_event .time = timestamp ;
119- uio_event .reserved = 0x00 ;
119+ uio_event .reserved = CGEventGetIntegerValueField ( event_ref , kCGEventSourceUnixProcessID ) ? 0x02 : 0x00 ;
120120
121121 uio_event .type = EVENT_KEY_PRESSED ;
122122 uio_event .mask = get_modifiers ();
@@ -141,7 +141,7 @@ bool dispatch_key_press(uint64_t timestamp, CGEventRef event_ref) {
141141 for (unsigned int i = 0 ; i < length ; i ++ ) {
142142 // Populate key typed event.
143143 uio_event .time = timestamp ;
144- uio_event .reserved = 0x00 ;
144+ uio_event .reserved = CGEventGetIntegerValueField ( event_ref , kCGEventSourceUnixProcessID ) ? 0x02 : 0x00 ;
145145
146146 uio_event .type = EVENT_KEY_TYPED ;
147147 uio_event .mask = get_modifiers ();
@@ -171,7 +171,7 @@ bool dispatch_key_release(uint64_t timestamp, CGEventRef event_ref) {
171171
172172 // Populate key released event.
173173 uio_event .time = timestamp ;
174- uio_event .reserved = 0x00 ;
174+ uio_event .reserved = CGEventGetIntegerValueField ( event_ref , kCGEventSourceUnixProcessID ) ? 0x02 : 0x00 ;
175175
176176 uio_event .type = EVENT_KEY_RELEASED ;
177177 uio_event .mask = get_modifiers ();
@@ -469,7 +469,7 @@ bool dispatch_button_press(uint64_t timestamp, CGEventRef event_ref, uint16_t bu
469469
470470 // Populate mouse pressed event.
471471 uio_event .time = timestamp ;
472- uio_event .reserved = 0x00 ;
472+ uio_event .reserved = CGEventGetIntegerValueField ( event_ref , kCGEventSourceUnixProcessID ) ? 0x02 : 0x00 ;
473473
474474 uio_event .type = EVENT_MOUSE_PRESSED ;
475475 uio_event .mask = get_modifiers ();
@@ -498,7 +498,7 @@ bool dispatch_button_release(uint64_t timestamp, CGEventRef event_ref, uint16_t
498498
499499 // Populate mouse released event.
500500 uio_event .time = timestamp ;
501- uio_event .reserved = 0x00 ;
501+ uio_event .reserved = CGEventGetIntegerValueField ( event_ref , kCGEventSourceUnixProcessID ) ? 0x02 : 0x00 ;
502502
503503 uio_event .type = EVENT_MOUSE_RELEASED ;
504504 uio_event .mask = get_modifiers ();
@@ -521,7 +521,7 @@ bool dispatch_button_release(uint64_t timestamp, CGEventRef event_ref, uint16_t
521521 if (uio_event .reserved ^ 0x01 && !is_mouse_dragged ()) {
522522 // Populate mouse clicked event.
523523 uio_event .time = timestamp ;
524- uio_event .reserved = 0x00 ;
524+ uio_event .reserved = CGEventGetIntegerValueField ( event_ref , kCGEventSourceUnixProcessID ) ? 0x02 : 0x00 ;
525525
526526 uio_event .type = EVENT_MOUSE_CLICKED ;
527527 uio_event .mask = get_modifiers ();
@@ -562,7 +562,7 @@ bool dispatch_mouse_move(uint64_t timestamp, CGEventRef event_ref) {
562562
563563 // Populate mouse motion event.
564564 uio_event .time = timestamp ;
565- uio_event .reserved = 0x00 ;
565+ uio_event .reserved = CGEventGetIntegerValueField ( event_ref , kCGEventSourceUnixProcessID ) ? 0x02 : 0x00 ;
566566
567567 if (is_mouse_dragged ()) {
568568 uio_event .type = EVENT_MOUSE_DRAGGED ;
@@ -603,7 +603,7 @@ bool dispatch_mouse_wheel(uint64_t timestamp, CGEventRef event_ref) {
603603
604604 // Populate mouse wheel event.
605605 uio_event .time = timestamp ;
606- uio_event .reserved = 0x00 ;
606+ uio_event .reserved = CGEventGetIntegerValueField ( event_ref , kCGEventSourceUnixProcessID ) ? 0x02 : 0x00 ;
607607
608608 uio_event .type = EVENT_MOUSE_WHEEL ;
609609 uio_event .mask = get_modifiers ();
0 commit comments