コード例 #1
0
ファイル: Key.cs プロジェクト: modulexcite/Eto-1
        public static string ToShortcutString(this Key key, string separator = "+")
        {
            var sb = new StringBuilder();

            if (key.HasFlag(Key.Control))
            {
                AppendSeparator(sb, separator, "Ctrl");
            }
            if (key.HasFlag(Key.Shift))
            {
                AppendSeparator(sb, separator, "Shift");
            }
            if (key.HasFlag(Key.Alt))
            {
                AppendSeparator(sb, separator, "Alt");
            }

            var    mainKey = key & Key.KeyMask;
            string val;

            if (keymap.TryGetValue(mainKey, out val))
            {
                AppendSeparator(sb, separator, val);
            }
            else
            {
                AppendSeparator(sb, separator, mainKey.ToString());
            }

            return(sb.ToString());
        }
コード例 #2
0
ファイル: KeyMap.cs プロジェクト: hultqvist/Eto
		public static swi.ModifierKeys ConvertModifier (Key key)
		{
			key &= Key.ModifierMask;
			swi.ModifierKeys val = swi.ModifierKeys.None;

			if (key.HasFlag (Key.Alt)) val |= swi.ModifierKeys.Alt;
			if (key.HasFlag (Key.Control)) val |= swi.ModifierKeys.Control;
			if (key.HasFlag (Key.Shift)) val |= swi.ModifierKeys.Shift;
			if (key.HasFlag (Key.Application)) val |= swi.ModifierKeys.Windows;
			return val;
		}