private void InitKeyActions()
{
if (s_Keyactions == null)
{
s_Keyactions = new Dictionary<Event, TextEditOp>();
MapKey("left", TextEditOp.MoveLeft);
MapKey("right", TextEditOp.MoveRight);
MapKey("up", TextEditOp.MoveUp);
MapKey("down", TextEditOp.MoveDown);
MapKey("#left", TextEditOp.SelectLeft);
MapKey("#right", TextEditOp.SelectRight);
MapKey("#up", TextEditOp.SelectUp);
MapKey("#down", TextEditOp.SelectDown);
MapKey("delete", TextEditOp.Delete);
MapKey("backspace", TextEditOp.Backspace);
MapKey("#backspace", TextEditOp.Backspace);
if (SystemInfo.operatingSystemFamily == OperatingSystemFamily.MacOSX)
{
MapKey("^left", TextEditOp.MoveGraphicalLineStart);
MapKey("^right", TextEditOp.MoveGraphicalLineEnd);
MapKey("&left", TextEditOp.MoveWordLeft);
MapKey("&right", TextEditOp.MoveWordRight);
MapKey("&up", TextEditOp.MoveParagraphBackward);
MapKey("&down", TextEditOp.MoveParagraphForward);
MapKey("%left", TextEditOp.MoveGraphicalLineStart);
MapKey("%right", TextEditOp.MoveGraphicalLineEnd);
MapKey("%up", TextEditOp.MoveTextStart);
MapKey("%down", TextEditOp.MoveTextEnd);
MapKey("#home", TextEditOp.SelectTextStart);
MapKey("#end", TextEditOp.SelectTextEnd);
MapKey("#^left", TextEditOp.ExpandSelectGraphicalLineStart);
MapKey("#^right", TextEditOp.ExpandSelectGraphicalLineEnd);
MapKey("#^up", TextEditOp.SelectParagraphBackward);
MapKey("#^down", TextEditOp.SelectParagraphForward);
MapKey("#&left", TextEditOp.SelectWordLeft);
MapKey("#&right", TextEditOp.SelectWordRight);
MapKey("#&up", TextEditOp.SelectParagraphBackward);
MapKey("#&down", TextEditOp.SelectParagraphForward);
MapKey("#%left", TextEditOp.ExpandSelectGraphicalLineStart);
MapKey("#%right", TextEditOp.ExpandSelectGraphicalLineEnd);
MapKey("#%up", TextEditOp.SelectTextStart);
MapKey("#%down", TextEditOp.SelectTextEnd);
MapKey("%a", TextEditOp.SelectAll);
MapKey("%x", TextEditOp.Cut);
MapKey("%c", TextEditOp.Copy);
MapKey("%v", TextEditOp.Paste);
MapKey("^d", TextEditOp.Delete);
MapKey("^h", TextEditOp.Backspace);
MapKey("^b", TextEditOp.MoveLeft);
MapKey("^f", TextEditOp.MoveRight);
MapKey("^a", TextEditOp.MoveLineStart);
MapKey("^e", TextEditOp.MoveLineEnd);
MapKey("&delete", TextEditOp.DeleteWordForward);
MapKey("&backspace", TextEditOp.DeleteWordBack);
MapKey("%backspace", TextEditOp.DeleteLineBack);
}
else
{
MapKey("home", TextEditOp.MoveGraphicalLineStart);
MapKey("end", TextEditOp.MoveGraphicalLineEnd);
MapKey("%left", TextEditOp.MoveWordLeft);
MapKey("%right", TextEditOp.MoveWordRight);
MapKey("%up", TextEditOp.MoveParagraphBackward);
MapKey("%down", TextEditOp.MoveParagraphForward);
MapKey("^left", TextEditOp.MoveToEndOfPreviousWord);
MapKey("^right", TextEditOp.MoveToStartOfNextWord);
MapKey("^up", TextEditOp.MoveParagraphBackward);
MapKey("^down", TextEditOp.MoveParagraphForward);
MapKey("#^left", TextEditOp.SelectToEndOfPreviousWord);
MapKey("#^right", TextEditOp.SelectToStartOfNextWord);
MapKey("#^up", TextEditOp.SelectParagraphBackward);
MapKey("#^down", TextEditOp.SelectParagraphForward);
MapKey("#home", TextEditOp.SelectGraphicalLineStart);
MapKey("#end", TextEditOp.SelectGraphicalLineEnd);
MapKey("^delete", TextEditOp.DeleteWordForward);
MapKey("^backspace", TextEditOp.DeleteWordBack);
MapKey("%backspace", TextEditOp.DeleteLineBack);
MapKey("^a", TextEditOp.SelectAll);
MapKey("^x", TextEditOp.Cut);
MapKey("^c", TextEditOp.Copy);
MapKey("^v", TextEditOp.Paste);
MapKey("#delete", TextEditOp.Cut);
MapKey("^insert", TextEditOp.Copy);
MapKey("#insert", TextEditOp.Paste);
}
}
}