2011-12-06 6 views
2

私はプログラムで、NSMenuItemオブジェクト(MonoMac)のKeyEquivalentとKeyEquivalentModifierMaskを設定しようとしています。英数字キー( "az"、 "0-9")ではこれは問題ではありませんが、F1-F12キーや矢印キー、リターンキーなどのキーに対応するキーを設定できます。特別なキーのkeyEquivalent文字列のリスト

これらのキーのリストはどこかにありますか?これは私が、私はまだこれらのすべてをテストしていません(グーグル経由で見つかった)各キー

Enter/Return => @\"r" 
Escape => @"\E" 
Left Arrow => string.Format("%c", 0xF702) 
Up Arrow => string.Format("%c", 0xF700) 
Right Arrow => string.Format("%c", 0xF703) 
Down Arrow => string.Format("%c", 0xF701) 
Delete => string.Format("%c", 0x08) 
F1 => ? 
F2 => ? 
... 
F12 => ? 

のために現在使用しているコードです。

答えて

2

これらは、NSKey enumで定義されています。


あなたは自分自身、彼らは、Mac OS X SDKにNSEvent.hにある値をしたい場合(apple documentationを参照してください)。このファイルのGnuStep versionはGNAで見つけることができ、同じ定数を含める必要があり、それは、C#に変換するのは簡単です:

enum { 
    NSUpArrowFunctionKey = 0xF700, 
    NSDownArrowFunctionKey = 0xF701, 
    NSLeftArrowFunctionKey = 0xF702, 
    NSRightArrowFunctionKey = 0xF703, 
    NSF1FunctionKey = 0xF704, 
    NSF2FunctionKey = 0xF705, 
    NSF3FunctionKey = 0xF706, 
    NSF4FunctionKey = 0xF707, 
    NSF5FunctionKey = 0xF708, 
    NSF6FunctionKey = 0xF709, 
    NSF7FunctionKey = 0xF70A, 
    NSF8FunctionKey = 0xF70B, 
    NSF9FunctionKey = 0xF70C, 
    NSF10FunctionKey = 0xF70D, 
    NSF11FunctionKey = 0xF70E, 
    NSF12FunctionKey = 0xF70F, 
    NSF13FunctionKey = 0xF710, 
    NSF14FunctionKey = 0xF711, 
    NSF15FunctionKey = 0xF712, 
    NSF16FunctionKey = 0xF713, 
    NSF17FunctionKey = 0xF714, 
    NSF18FunctionKey = 0xF715, 
    NSF19FunctionKey = 0xF716, 
    NSF20FunctionKey = 0xF717, 
    NSF21FunctionKey = 0xF718, 
    NSF22FunctionKey = 0xF719, 
    NSF23FunctionKey = 0xF71A, 
    NSF24FunctionKey = 0xF71B, 
    NSF25FunctionKey = 0xF71C, 
    NSF26FunctionKey = 0xF71D, 
    NSF27FunctionKey = 0xF71E, 
    NSF28FunctionKey = 0xF71F, 
    NSF29FunctionKey = 0xF720, 
    NSF30FunctionKey = 0xF721, 
    NSF31FunctionKey = 0xF722, 
    NSF32FunctionKey = 0xF723, 
    NSF33FunctionKey = 0xF724, 
    NSF34FunctionKey = 0xF725, 
    NSF35FunctionKey = 0xF726, 
    NSInsertFunctionKey = 0xF727, 
    NSDeleteFunctionKey = 0xF728, 
    NSHomeFunctionKey = 0xF729, 
    NSBeginFunctionKey = 0xF72A, 
    NSEndFunctionKey = 0xF72B, 
    NSPageUpFunctionKey = 0xF72C, 
    NSPageDownFunctionKey = 0xF72D, 
    NSPrintScreenFunctionKey = 0xF72E, 
    NSScrollLockFunctionKey = 0xF72F, 
    NSPauseFunctionKey = 0xF730, 
    NSSysReqFunctionKey = 0xF731, 
    NSBreakFunctionKey = 0xF732, 
    NSResetFunctionKey = 0xF733, 
    NSStopFunctionKey = 0xF734, 
    NSMenuFunctionKey = 0xF735, 
    NSUserFunctionKey = 0xF736, 
    NSSystemFunctionKey = 0xF737, 
    NSPrintFunctionKey = 0xF738, 
    NSClearLineFunctionKey = 0xF739, 
    NSClearDisplayFunctionKey = 0xF73A, 
    NSInsertLineFunctionKey = 0xF73B, 
    NSDeleteLineFunctionKey = 0xF73C, 
    NSInsertCharFunctionKey = 0xF73D, 
    NSDeleteCharFunctionKey = 0xF73E, 
    NSPrevFunctionKey = 0xF73F, 
    NSNextFunctionKey = 0xF740, 
    NSSelectFunctionKey = 0xF741, 
    NSExecuteFunctionKey = 0xF742, 
    NSUndoFunctionKey = 0xF743, 
    NSRedoFunctionKey = 0xF744, 
    NSFindFunctionKey = 0xF745, 
    NSHelpFunctionKey = 0xF746, 
    NSModeSwitchFunctionKey = 0xF747 
}; 
+3

彼らはhttp://api.xamarin.com/index([NSKey]にしています.aspx?link = T%3aMonoMac.AppKit.NSKey%2f%2a) –

+0

@mhutchありがとうございます。しかし、あなたは答える必要があります。あなたの答えは私よりはるかに優れています。 –

関連する問題