Mercurial > sdl-ios-xcode
comparison src/video/cocoa/SDL_cocoaevents.m @ 1959:25d6537feea4
Implemented Cocoa key event handling.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 30 Jul 2006 05:18:33 +0000 |
parents | 05e88d266921 |
children | c92e5f3e68d9 |
comparison
equal
deleted
inserted
replaced
1958:5fc6fb0fb605 | 1959:25d6537feea4 |
---|---|
87 [appleMenu addItemWithTitle:title action:@selector(orderFrontStandardAboutPanel:) keyEquivalent:@""]; | 87 [appleMenu addItemWithTitle:title action:@selector(orderFrontStandardAboutPanel:) keyEquivalent:@""]; |
88 | 88 |
89 [appleMenu addItem:[NSMenuItem separatorItem]]; | 89 [appleMenu addItem:[NSMenuItem separatorItem]]; |
90 | 90 |
91 title = [@"Hide " stringByAppendingString:appName]; | 91 title = [@"Hide " stringByAppendingString:appName]; |
92 [appleMenu addItemWithTitle:title action:@selector(hide:) keyEquivalent:@"h"]; | 92 [appleMenu addItemWithTitle:title action:@selector(hide:) keyEquivalent:@/*"h"*/""]; |
93 | 93 |
94 menuItem = (NSMenuItem *)[appleMenu addItemWithTitle:@"Hide Others" action:@selector(hideOtherApplications:) keyEquivalent:@"h"]; | 94 menuItem = (NSMenuItem *)[appleMenu addItemWithTitle:@"Hide Others" action:@selector(hideOtherApplications:) keyEquivalent:@/*"h"*/""]; |
95 [menuItem setKeyEquivalentModifierMask:(NSAlternateKeyMask|NSCommandKeyMask)]; | 95 [menuItem setKeyEquivalentModifierMask:(NSAlternateKeyMask|NSCommandKeyMask)]; |
96 | 96 |
97 [appleMenu addItemWithTitle:@"Show All" action:@selector(unhideAllApplications:) keyEquivalent:@""]; | 97 [appleMenu addItemWithTitle:@"Show All" action:@selector(unhideAllApplications:) keyEquivalent:@""]; |
98 | 98 |
99 [appleMenu addItem:[NSMenuItem separatorItem]]; | 99 [appleMenu addItem:[NSMenuItem separatorItem]]; |
100 | 100 |
101 title = [@"Quit " stringByAppendingString:appName]; | 101 title = [@"Quit " stringByAppendingString:appName]; |
102 [appleMenu addItemWithTitle:title action:@selector(terminate:) keyEquivalent:@"q"]; | 102 [appleMenu addItemWithTitle:title action:@selector(terminate:) keyEquivalent:@/*"q"*/""]; |
103 | 103 |
104 /* Put menu into the menubar */ | 104 /* Put menu into the menubar */ |
105 menuItem = [[NSMenuItem alloc] initWithTitle:@"" action:nil keyEquivalent:@""]; | 105 menuItem = [[NSMenuItem alloc] initWithTitle:@"" action:nil keyEquivalent:@""]; |
106 [menuItem setSubmenu:appleMenu]; | 106 [menuItem setSubmenu:appleMenu]; |
107 [[NSApp mainMenu] addItem:menuItem]; | 107 [[NSApp mainMenu] addItem:menuItem]; |
114 | 114 |
115 /* Create the window menu */ | 115 /* Create the window menu */ |
116 windowMenu = [[NSMenu alloc] initWithTitle:@"Window"]; | 116 windowMenu = [[NSMenu alloc] initWithTitle:@"Window"]; |
117 | 117 |
118 /* "Minimize" item */ | 118 /* "Minimize" item */ |
119 menuItem = [[NSMenuItem alloc] initWithTitle:@"Minimize" action:@selector(performMiniaturize:) keyEquivalent:@"m"]; | 119 menuItem = [[NSMenuItem alloc] initWithTitle:@"Minimize" action:@selector(performMiniaturize:) keyEquivalent:@/*"m"*/""]; |
120 [windowMenu addItem:menuItem]; | 120 [windowMenu addItem:menuItem]; |
121 [menuItem release]; | 121 [menuItem release]; |
122 | 122 |
123 /* Put menu into the menubar */ | 123 /* Put menu into the menubar */ |
124 menuItem = [[NSMenuItem alloc] initWithTitle:@"Window" action:nil keyEquivalent:@""]; | 124 menuItem = [[NSMenuItem alloc] initWithTitle:@"Window" action:nil keyEquivalent:@""]; |
167 while ([NSApp isRunning]) { | 167 while ([NSApp isRunning]) { |
168 NSEvent *event = [NSApp nextEventMatchingMask:NSAnyEventMask untilDate:[NSDate distantPast] inMode:NSDefaultRunLoopMode dequeue:YES ]; | 168 NSEvent *event = [NSApp nextEventMatchingMask:NSAnyEventMask untilDate:[NSDate distantPast] inMode:NSDefaultRunLoopMode dequeue:YES ]; |
169 if ( event == nil ) { | 169 if ( event == nil ) { |
170 break; | 170 break; |
171 } | 171 } |
172 [NSApp sendEvent:event]; | 172 switch ([event type]) { |
173 case NSKeyDown: | |
174 case NSKeyUp: | |
175 case NSFlagsChanged: | |
176 Cocoa_HandleKeyEvent(_this, event); | |
177 /* Fall through to pass event to NSApp */ | |
178 default: | |
179 [NSApp sendEvent:event]; | |
180 break; | |
181 } | |
173 } | 182 } |
174 [pool release]; | 183 [pool release]; |
175 } | 184 } |
176 | 185 |
177 /* vi: set ts=4 sw=4 expandtab: */ | 186 /* vi: set ts=4 sw=4 expandtab: */ |