X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=KeyInputTextView.m;h=91a2a3453d797d1f2a1494469e16cddbf2166f43;hp=1bb79521fc1eda6d15817ad4b0fe98254d564a29;hb=1bb3f553caac2b6b74380bd20ddc4bb1ff22abb2;hpb=15a3aec049658f4a1c3c6e8c9f8a549fb8de0782 diff --git a/KeyInputTextView.m b/KeyInputTextView.m index 1bb7952..91a2a34 100644 --- a/KeyInputTextView.m +++ b/KeyInputTextView.m @@ -25,6 +25,8 @@ - (void)clear { self.vk = -1; + [targetController keyChanged]; + [self resignIfFirstResponder]; } - (BOOL)hasKey { @@ -168,15 +170,9 @@ return [super resignFirstResponder]; } -- (void)setBackgroundColor:(NSColor *)color { - [super setBackgroundColor:color]; -} - - (void)setVk:(int)key { vk = key; [self setStringValue:[KeyInputTextView stringForKeyCode:key]]; - if (self.hasKey) - [targetController keyChanged]; } - (int)vk { @@ -186,20 +182,27 @@ - (void)keyDown:(NSEvent *)evt { if (!evt.isARepeat) { self.vk = evt.keyCode; - [self.window makeFirstResponder:nil]; + [targetController keyChanged]; + [self resignIfFirstResponder]; } } +- (void)mouseDown:(NSEvent *)theEvent { + [targetController keyChanged]; + [self.window makeFirstResponder:self]; +} + - (void)flagsChanged:(NSEvent *)evt { self.vk = evt.keyCode; - [[self window] makeFirstResponder:nil]; + [targetController keyChanged]; + [self resignIfFirstResponder]; } - (void)setEnabled:(BOOL)newEnabled { enabled = newEnabled; - if (!enabled && window.firstResponder == self) - [window makeFirstResponder:nil]; + if (!enabled) + [self resignIfFirstResponder]; } - (BOOL)enabled {