ページ

2009年6月14日日曜日

ホットキー変更対応(3) modifieierキーの表現

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

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でホットキー