Analog mouse scrolling.
[enjoyable.git] / KeyInputTextView.m
index 1bb7952..91a2a34 100644 (file)
@@ -25,6 +25,8 @@
 
 - (void)clear {
     self.vk = -1;
+    [targetController keyChanged];
+    [self resignIfFirstResponder];
 }
 
 - (BOOL)hasKey {
     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 {
 - (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 {