public static Keys GetKeys (NSEvent theEvent)
{
Initialize ();
//TODO: Make modifiers work
var nskey = Enum.ToObject (typeof(NSKey), theEvent.KeyCode);
var modInt = (uint)theEvent.ModifierFlags & 0xFFFF0000;
var modifier = ((NSEventModifierMask)Enum.ToObject (typeof(NSEventModifierMask), modInt)).ToKeys ();
try {
var key = (Keys)keyNames[nskey];
return modInt != 0 ? key | modifier : key;
} catch {
try {
// Works if the keys have the same name;
var key = (Keys)Enum.Parse (typeof(Keys), nskey.ToString ());
return modInt != 0 ? key | modifier : key;
} catch {
// None found
return modInt != 0 ? modifier : Keys.None;
}
}
//Works based on Character
}
/*