Example #1
0
        private void ProcessModifierKey(IntPtr inEvent)
        {
            MacOSKeyModifiers modifiers = API.GetEventKeyModifiers(inEvent);
            bool caps    = (modifiers & MacOSKeyModifiers.CapsLock) != 0 ? true : false;
            bool control = (modifiers & MacOSKeyModifiers.Control) != 0 ? true : false;
            bool command = (modifiers & MacOSKeyModifiers.Command) != 0 ? true : false;
            bool option  = (modifiers & MacOSKeyModifiers.Option) != 0 ? true : false;
            bool shift   = (modifiers & MacOSKeyModifiers.Shift) != 0 ? true : false;

            Debug.Print("Modifiers Changed: {0}", modifiers);
            Input.KeyboardDevice keyboard = InputDriver.Keyboard[0];
            if (keyboard[OpenTK.Input.Key.AltLeft] ^ option)
            {
                keyboard[OpenTK.Input.Key.AltLeft] = option;
            }
            if (keyboard[OpenTK.Input.Key.ShiftLeft] ^ shift)
            {
                keyboard[OpenTK.Input.Key.ShiftLeft] = shift;
            }
            if (keyboard[OpenTK.Input.Key.WinLeft] ^ command)
            {
                keyboard[OpenTK.Input.Key.WinLeft] = command;
            }
            if (keyboard[OpenTK.Input.Key.ControlLeft] ^ control)
            {
                keyboard[OpenTK.Input.Key.ControlLeft] = control;
            }
            if (keyboard[OpenTK.Input.Key.CapsLock] ^ caps)
            {
                keyboard[OpenTK.Input.Key.CapsLock] = caps;
            }
        }
Example #2
0
        private void ProcessModifierKey(IntPtr inEvent)
        {
            MacOSKeyModifiers modifiers = API.GetEventKeyModifiers(inEvent);

            bool caps    = (modifiers & MacOSKeyModifiers.CapsLock) != 0 ? true : false;
            bool control = (modifiers & MacOSKeyModifiers.Control) != 0 ? true : false;
            bool command = (modifiers & MacOSKeyModifiers.Command) != 0 ? true : false;
            bool option  = (modifiers & MacOSKeyModifiers.Option) != 0 ? true : false;
            bool shift   = (modifiers & MacOSKeyModifiers.Shift) != 0 ? true : false;

            Input.KeyboardDevice keyboard = InputDriver.Keyboard[0];

            if (keyboard[OpenTK.Input.Key.AltLeft] ^ option)
            {
                ProcessKey(MacOSKeyCode.OptionAlt, option);
            }

            if (keyboard[OpenTK.Input.Key.ShiftLeft] ^ shift)
            {
                ProcessKey(MacOSKeyCode.Shift, shift);
            }

            if (keyboard[OpenTK.Input.Key.WinLeft] ^ command)
            {
                ProcessKey(MacOSKeyCode.Command, command);
            }

            if (keyboard[OpenTK.Input.Key.ControlLeft] ^ control)
            {
                ProcessKey(MacOSKeyCode.Control, control);
            }

            if (keyboard[OpenTK.Input.Key.CapsLock] ^ caps)
            {
                ProcessKey(MacOSKeyCode.CapsLock, caps);
            }
        }