Merge pull request #384 from fkaa/keypress-sound

Fix alert sounds on keypress for cocoa
This commit is contained in:
tomaka 2015-04-24 19:27:49 +02:00
commit 7eeb96909c

View file

@ -199,9 +199,11 @@ impl<'a> Iterator for PollEventsIterator<'a> {
NSDefaultRunLoopMode,
YES);
if event == nil { return None; }
NSApp().sendEvent_(event);
let event = match msg_send![event, type] {
let event_type = msg_send![event, type];
NSApp().sendEvent_(if let NSKeyDown = event_type { nil } else { event });
let event = match event_type {
NSLeftMouseDown => { Some(MouseInput(Pressed, MouseButton::Left)) },
NSLeftMouseUp => { Some(MouseInput(Released, MouseButton::Left)) },
NSRightMouseDown => { Some(MouseInput(Pressed, MouseButton::Right)) },
@ -220,6 +222,7 @@ impl<'a> Iterator for PollEventsIterator<'a> {
};
let view_rect = NSView::frame(*self.window.view);
let scale_factor = self.window.hidpi_factor();
Some(MouseMoved(((scale_factor * view_point.x as f32) as i32,
(scale_factor * (view_rect.size.height - view_point.y) as f32) as i32)))
},
@ -241,6 +244,7 @@ impl<'a> Iterator for PollEventsIterator<'a> {
},
NSKeyUp => {
let vkey = event::vkeycode_to_element(NSEvent::keyCode(event));
Some(KeyboardInput(Released, NSEvent::keyCode(event) as u8, vkey))
},
NSFlagsChanged => {
@ -273,8 +277,6 @@ impl<'a> Iterator for PollEventsIterator<'a> {
_ => { None },
};
event
}
}