コード例 #1
0
ファイル: KeyMapper.cs プロジェクト: azraelrabbit/SpiderEye
        public static NSEventModifierFlags GetModifier(ModifierKey key)
        {
            NSEventModifierFlags result = NSEventModifierFlags.None;

            foreach (var flag in EnumTools.GetFlags(key))
            {
                switch (flag)
                {
                case ModifierKey.None:
                    continue;

                case ModifierKey.Shift:
                    result |= NSEventModifierFlags.Shift;
                    break;

                case ModifierKey.Control:
                    result |= NSEventModifierFlags.Control;
                    break;

                case ModifierKey.Alt:
                    result |= NSEventModifierFlags.Option;
                    break;

                case ModifierKey.Super:
                case ModifierKey.Primary:
                    result |= NSEventModifierFlags.Command;
                    break;

                default:
                    throw new NotSupportedException($"Unsupported modifier key: \"{flag}\"");
                }
            }

            return(result);
        }
コード例 #2
0
        private static void MapModifier(StringBuilder builder, ModifierKey modifier)
        {
            foreach (var flag in EnumTools.GetFlags(modifier))
            {
                string value;
                switch (flag)
                {
                case ModifierKey.None:
                    continue;

                case ModifierKey.Shift:
                    value = "<Shift>";
                    break;

                case ModifierKey.Control:
                    value = "<Control>";
                    break;

                case ModifierKey.Alt:
                    value = "<Alt>";
                    break;

                case ModifierKey.Super:
                case ModifierKey.Primary:
                    value = "<Super>";
                    break;

                default:
                    throw new NotSupportedException($"Unsupported modifier key: \"{flag}\"");
                }

                builder.Append(value);
            }
        }
コード例 #3
0
        private static Keys MapModifier(ModifierKey modifier)
        {
            var result = Keys.None;

            foreach (var flag in EnumTools.GetFlags(modifier))
            {
                switch (flag)
                {
                case ModifierKey.None:
                    continue;

                case ModifierKey.Shift:
                    result |= Keys.Shift;
                    break;

                case ModifierKey.Control:
                case ModifierKey.Primary:
                    result |= Keys.Control;
                    break;

                case ModifierKey.Alt:
                    result |= Keys.Alt;
                    break;

                case ModifierKey.Super:
                    result |= Keys.LWin;
                    break;

                default:
                    throw new NotSupportedException($"Unsupported modifier key: \"{flag}\"");
                }
            }

            return(result);
        }