diff options
| author | Teddy Wing | 2018-10-13 18:52:20 +0200 |
|---|---|---|
| committer | Teddy Wing | 2018-10-13 18:52:20 +0200 |
| commit | e52d2d6f4df4bb6476077a722849644db59eda11 (patch) | |
| tree | ed0255b7363f83aefff606119fb66cd62aad7c1d | |
| parent | d5082eeca37a938e8aa90868cb7c5bae11386601 (diff) | |
| download | dome-key-map-e52d2d6f4df4bb6476077a722849644db59eda11.tar.bz2 | |
Get rid of media key simulation code
Can't deal with segfaults any more. This code will be moved to
Objective-C.
| -rw-r--r-- | src/key_code.rs | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/src/key_code.rs b/src/key_code.rs index 9e30dfc..8d77a2a 100644 --- a/src/key_code.rs +++ b/src/key_code.rs @@ -14,7 +14,6 @@ use core_graphics::event::{ CGKeyCode, KeyCode, }; -use foreign_types::{ForeignType, ForeignTypeRef}; // impl KeyCode { // pub const RETURN: CGKeyCode = 0x24; @@ -96,122 +95,3 @@ use foreign_types::{ForeignType, ForeignTypeRef}; // kVK_DownArrow = 0x7D, // kVK_UpArrow = 0x7E // }; - - - - // unsafe fn otherEventWithType_location_modifierFlags_timestamp_windowNumber_context_subtype_data1_data2_( - // _: Self, - // eventType: NSEventType, - // location: NSPoint, - // modifierFlags: NSEventModifierFlags, - // timestamp: NSTimeInterval, - // windowNumber: NSInteger, - // context: id /* (NSGraphicsContext *) */, - // subtype: NSEventSubtype, - // data1: NSInteger, - // data2: NSInteger) -> id /* (NSEvent *) */ - - -// https://stackoverflow.com/questions/11045814/emulate-media-key-press-on-mac/11048135#11048135 -// https://stackoverflow.com/questions/10459085/cocoa-simulate-macbook-upper-keys-multimedia-keys/50574159#50574159 -unsafe fn press_play() { - let NX_KEYTYPE_PLAY = 16; - let code = NX_KEYTYPE_PLAY; - - // let key_down = NSEvent::otherEventWithType_location_modifierFlags_timestamp_windowNumber_context_subtype_data1_data2_( - // nil, - // NSSystemDefined, - // NSPoint::new(0.0, 0.0), - // // NSEventModifierFlags::NSDeviceIndependentModifierFlagsMask, // 0xa00 0xb00 - // // 0xa00, - // // NSEventModifierFlags::empty(), - // NSEventModifierFlags::from_bits(0xa00).unwrap(), - // 0.0, - // 0, - // nil, - // NSScreenChangedEventType, - // (code << 16 as i32) | (0xa << 8 as i32), - // -1 - // ); - // let event = key_down.CGEvent() as *mut CGEvent; - // let event = &*event; - // event.post(CGEventTapLocation::HID); - // - // let key_up = NSEvent::otherEventWithType_location_modifierFlags_timestamp_windowNumber_context_subtype_data1_data2_( - // nil, - // NSSystemDefined, - // NSPoint::new(0.0, 0.0), - // // NSEventModifierFlags::NSDeviceIndependentModifierFlagsMask, - // // NSEventModifierFlags::empty(), - // NSEventModifierFlags::from_bits(0xb00).unwrap(), - // 0.0, - // 0, - // nil, - // NSScreenChangedEventType, - // (code << 16 as i32) | (0xb << 8 as i32), - // -1 - // ); - // let event = key_up.CGEvent() as *mut CGEvent; - // let event = &*event; - // event.post(CGEventTapLocation::HID); - - let event: id = msg_send![class!(NSEvent), otherEventWithType:NSSystemDefined - location:NSPoint::new(0.0, 0.0) - modifierFlags:0xa00 - timestamp:0.0 - windowNumber:0 - context:nil - subtype:NSScreenChangedEventType - data1:(code << 16 as i32) | (0xa << 8 as i32) - data2:-1]; - - // let cg_event: *mut CGEvent = msg_send![event, CGEvent]; - // let n_cg_event = &*cg_event; - // println!("{}", cg_event.as_ptr()); - // n_cg_event.post(CGEventTapLocation::HID); - // println!("Failed"); - - let cg_event_ref: CGEventRef = msg_send![event, CGEvent]; - // CGEventPost(CGEventTapLocation::HID, cg_event_ref); - // let cg_event = CGEvent::from_ptr(cg_event_ref); - println!("What"); - // let cg_event: CGEvent = cg_event_ref.to_owned(); // TODO: doesn't work - // let handle: *mut $ctype = $clone($crate::ForeignTypeRef::as_ptr(self)); - // $crate::ForeignType::from_ptr(handle) - let fucking_handle = CGEventRef::as_ptr(&cg_event_ref); - let cg_event = CGEvent::from_ptr(fucking_handle); - println!("Fuck"); - cg_event.post(CGEventTapLocation::HID); // fucking segfaults - println!("Failed"); - - // let event: id = msg_send![class!(NSEvent), otherEventWithType:NSSystemDefined - // location:NSPoint::new(0.0, 0.0) - // modifierFlags:0xb00 - // timestamp:0.0 - // windowNumber:0 - // context:nil - // subtype:NSScreenChangedEventType - // data1:(code << 16 as i32) | (0xb << 8 as i32) - // data2:-1]; - // - // // let cg_event: *mut CGEvent = msg_send![event, CGEvent]; - // // let cg_event = &*cg_event; - // // cg_event.post(CGEventTapLocation::HID); - // let cg_event_ref: CGEventRef = msg_send![event, CGEvent]; - // let fucking_handle = CGEventRef::as_ptr(&cg_event_ref); - // let cg_event = CGEvent::from_ptr(fucking_handle); - // cg_event.post(CGEventTapLocation::HID); -} - - -#[cfg(test)] -mod tests { -use super::*; - -#[test] -fn send_media_key_event() { - unsafe { - press_play(); - } -} -} |
