commandキーやoptionキーなどを表現する必要があるが、これはどうやって表示するのだろうか?
いろいろ調べているとホットキーを扱うライブラリがあった。
Homegrown Developer Tools
ソースコードが配布されており中を見ると参考になるコードが見つかった。
PTKeyCombo.m
+ (NSString*)_stringForModifiers: (long)modifiers
{
static unichar modToChar[4][2] =
{
{ cmdKey, kCommandUnicode },
{ optionKey, kOptionUnicode },
{ controlKey, kControlUnicode },
{ shiftKey, kShiftUnicode }
};
:
なるほど文字コードが割当られていて定数定義されているのか。
サンプルアプリを作って試してみる。
AppController.m
#import "AppController.h"
#import <Carbon/Carbon.h>
@implementation AppController
- (void)awakeFromNib
{
NSLog(@"%C", kCommandUnicode);
NSLog(@"%C", kOptionUnicode);
NSLog(@"%C", kControlUnicode);
NSLog(@"%C", kShiftUnicode);
}
@end
デバッガコンソールへ4種類のmodifierキーを表示させる。実行してみよう。
出た。
よしこれを使おう。
参考
HotKeysLib3 - Cocoaでホットキー