X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=Classes%2FNJKeyInputField.m;h=3cdbd7ce63b84747167a81ca5a923174ef6d1282;hp=02896a82d27e95f24a1d3233e47542453b4732c0;hb=baa03e73a5af66b725f58fa5efd04bf54b7b2eed;hpb=0bc6bfcffe3319a339e28e64a81600a85382d61e diff --git a/Classes/NJKeyInputField.m b/Classes/NJKeyInputField.m index 02896a8..3cdbd7c 100644 --- a/Classes/NJKeyInputField.m +++ b/Classes/NJKeyInputField.m @@ -12,11 +12,17 @@ enum { kVK_RightCommand = kVK_Command - 1, + kVK_Insert = 0x72, + kVK_Power = 0x7f, + kVK_ApplicationMenu = 0x6e, kVK_MAX = 0xFFFF, }; const CGKeyCode NJKeyInputFieldEmpty = kVK_MAX; +@interface NJKeyInputField () +@end + @implementation NJKeyInputField { NSTextField *field; NSImageView *warning; @@ -49,7 +55,7 @@ const CGKeyCode NJKeyInputFieldEmpty = kVK_MAX; - (void)clear { self.keyCode = NJKeyInputFieldEmpty; - [self.delegate keyInputFieldDidClear:self]; + [self.delegate keyInputFieldDidClear:self]; [self resignIfFirstResponder]; } @@ -57,7 +63,7 @@ const CGKeyCode NJKeyInputFieldEmpty = kVK_MAX; return self.keyCode != NJKeyInputFieldEmpty; } -+ (NSString *)stringForKeyCode:(CGKeyCode)keyCode { ++ (NSString *)displayNameForKeyCode:(CGKeyCode)keyCode { switch (keyCode) { case kVK_F1: return @"F1"; case kVK_F2: return @"F2"; @@ -191,7 +197,15 @@ const CGKeyCode NJKeyInputFieldEmpty = kVK_MAX; return NSLocalizedString(@"Key Pad ,", @"numeric pad key"); case kVK_JIS_Eisu: return @"英数"; case kVK_JIS_Kana: return @"かな"; - + + case kVK_Power: return @"⌽"; + case kVK_VolumeUp: return @"🔊"; + case kVK_VolumeDown: return @"🔉"; + + case kVK_Insert: + return NSLocalizedString(@"Insert", "keyboard key"); + case kVK_ApplicationMenu: + return NSLocalizedString(@"Menu", "keyboard key"); case kVK_MAX: // NJKeyInputFieldEmpty return @""; @@ -218,7 +232,7 @@ const CGKeyCode NJKeyInputFieldEmpty = kVK_MAX; - (void)setKeyCode:(CGKeyCode)keyCode { _keyCode = keyCode; - field.stringValue = [NJKeyInputField stringForKeyCode:keyCode]; + field.stringValue = [NJKeyInputField displayNameForKeyCode:keyCode]; } - (void)keyDown:(NSEvent *)event { @@ -253,7 +267,7 @@ static BOOL isValidKeyCode(long code) { warning.hidden = YES; char *error = NULL; const char *s = field.stringValue.UTF8String; - long code = strtol(s, &error, 16); + short code = (short)strtol(s, &error, 16); if (!*error && isValidKeyCode(code) && field.stringValue.length) { self.keyCode = code;