Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Browse files
Hack to stop the beeping
Fixed keyboard window focus.
  • Loading branch information
slouken committed Jul 30, 2006
1 parent bb7014b commit a1211c9eeceaf572d2de8684f16ecccb0357d51e
Showing with 11 additions and 25 deletions.
  1. +3 −1 src/video/cocoa/SDL_cocoaevents.m
  2. +0 −2 src/video/cocoa/SDL_cocoawindow.h
  3. +8 −22 src/video/cocoa/SDL_cocoawindow.m
@@ -174,7 +174,9 @@ - (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sende
case NSKeyUp:
case NSFlagsChanged:
Cocoa_HandleKeyEvent(_this, event);
/* Fall through to pass event to NSApp */
/* Fall through to pass event to NSApp; er, nevermind... */
/* FIXME: Find a way to stop the beeping, using delegate */
break;
default:
[NSApp sendEvent:event];
break;
@@ -58,8 +58,6 @@ typedef struct SDL_WindowData SDL_WindowData;
-(void) rightMouseDragged:(NSEvent *) theEvent;
-(void) otherMouseDragged:(NSEvent *) theEvent;
-(void) scrollWheel:(NSEvent *) theEvent;
-(void) keyDown:(NSEvent *) theEvent;
-(void) keyUp:(NSEvent *) theEvent;
@end
/* *INDENT-ON* */

@@ -127,12 +127,18 @@ - (void)windowDidDeminiaturize:(NSNotification *)aNotification

- (void)windowDidBecomeKey:(NSNotification *)aNotification
{
SDL_SendWindowEvent(_data->windowID, SDL_WINDOWEVENT_FOCUS_GAINED, 0, 0);
int index;

index = _data->videodata->keyboard;
SDL_SetKeyboardFocus(index, _data->windowID);
}

- (void)windowDidResignKey:(NSNotification *)aNotification
{
SDL_SendWindowEvent(_data->windowID, SDL_WINDOWEVENT_FOCUS_LOST, 0, 0);
int index;

index = _data->videodata->keyboard;
SDL_SetKeyboardFocus(index, 0);
}

- (void)windowDidHide:(NSNotification *)aNotification
@@ -254,26 +260,6 @@ - (void)scrollWheel:(NSEvent *)theEvent
SDL_SendMouseWheel(index, (int)([theEvent deltaY]+0.9f));
}

- (void)keyDown:(NSEvent *)theEvent
{
int index;

index = _data->videodata->keyboard;
fprintf(stderr, "keyDown\n");
const char *text = [[theEvent characters] UTF8String];
if(text && *text) {
SDL_SendKeyboardText(index, text);
}
}

- (void)keyUp:(NSEvent *)theEvent
{
int index;

index = _data->videodata->keyboard;
fprintf(stderr, "keyUp\n");
}

@end

static int

0 comments on commit a1211c9

Please sign in to comment.