Ejemplo n.º 1
0
        /// <summary>
        /// Translates a virtual key to the corresponding native key code.
        /// </summary>
        /// <param name="key">Specifies the virtual key.</param>
        /// <param name="extended">The extended key flag.</param>
        /// <returns>A XKB scan code.</returns>
        public static int GetMacOSNativeKeyCode(VirtualKeys key, bool extended)
        {
            MacOSVirtualKey vkcode = MacOS.KeyInterop.WindowsKeyToMacOSKey(key, extended);

            if (vkcode != MacOSVirtualKey.Invalid)
            {
                return((int)vkcode);
            }
            return(0);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Converts a macOS virtual keycode into a Windows virtual Key.
        /// </summary>
        /// <param name="key">The <see cref="MacOSVirtualKey"/> to convert.</param>
        /// <returns>The virtual key.</returns>
        public static VirtualKeys MacOSKeyToWindowsKey(MacOSVirtualKey key)
        {
            switch (key)
            {
            case MacOSVirtualKey.A:
                return(VirtualKeys.A);

            case MacOSVirtualKey.S:
                return(VirtualKeys.S);

            case MacOSVirtualKey.D:
                return(VirtualKeys.D);

            case MacOSVirtualKey.F:
                return(VirtualKeys.F);

            case MacOSVirtualKey.H:
                return(VirtualKeys.H);

            case MacOSVirtualKey.G:
                return(VirtualKeys.G);

            case MacOSVirtualKey.Z:
                return(VirtualKeys.Z);

            case MacOSVirtualKey.X:
                return(VirtualKeys.X);

            case MacOSVirtualKey.C:
                return(VirtualKeys.C);

            case MacOSVirtualKey.V:
                return(VirtualKeys.V);

            case MacOSVirtualKey.B:
                return(VirtualKeys.B);

            case MacOSVirtualKey.Q:
                return(VirtualKeys.Q);

            case MacOSVirtualKey.W:
                return(VirtualKeys.W);

            case MacOSVirtualKey.E:
                return(VirtualKeys.E);

            case MacOSVirtualKey.R:
                return(VirtualKeys.R);

            case MacOSVirtualKey.Y:
                return(VirtualKeys.Y);

            case MacOSVirtualKey.T:
                return(VirtualKeys.T);

            case MacOSVirtualKey.D1:
                return(VirtualKeys.D1);

            case MacOSVirtualKey.D2:
                return(VirtualKeys.D2);

            case MacOSVirtualKey.D3:
                return(VirtualKeys.D3);

            case MacOSVirtualKey.D4:
                return(VirtualKeys.D4);

            case MacOSVirtualKey.D6:
                return(VirtualKeys.D6);

            case MacOSVirtualKey.D5:
                return(VirtualKeys.D5);

            case MacOSVirtualKey.Equal:
                return(VirtualKeys.OemPlus);

            case MacOSVirtualKey.D9:
                return(VirtualKeys.D9);

            case MacOSVirtualKey.D7:
                return(VirtualKeys.D7);

            case MacOSVirtualKey.Minus:
                return(VirtualKeys.OemMinus);

            case MacOSVirtualKey.D8:
                return(VirtualKeys.D8);

            case MacOSVirtualKey.D0:
                return(VirtualKeys.D0);

            case MacOSVirtualKey.RightBracket:
                return(VirtualKeys.OemCloseBrackets);

            case MacOSVirtualKey.O:
                return(VirtualKeys.O);

            case MacOSVirtualKey.U:
                return(VirtualKeys.U);

            case MacOSVirtualKey.LeftBracket:
                return(VirtualKeys.OemOpenBrackets);

            case MacOSVirtualKey.I:
                return(VirtualKeys.I);

            case MacOSVirtualKey.P:
                return(VirtualKeys.P);

            case MacOSVirtualKey.L:
                return(VirtualKeys.L);

            case MacOSVirtualKey.J:
                return(VirtualKeys.J);

            case MacOSVirtualKey.Quote:
                return(VirtualKeys.OemQuotes);

            case MacOSVirtualKey.K:
                return(VirtualKeys.K);

            case MacOSVirtualKey.Semicolon:
                return(VirtualKeys.OemSemicolon);

            case MacOSVirtualKey.Backslash:
                return(VirtualKeys.OemBackslash);

            case MacOSVirtualKey.Comma:
                return(VirtualKeys.OemComma);

            case MacOSVirtualKey.Slash:
                return(VirtualKeys.Oem2);

            case MacOSVirtualKey.N:
                return(VirtualKeys.N);

            case MacOSVirtualKey.M:
                return(VirtualKeys.M);

            case MacOSVirtualKey.Period:
                return(VirtualKeys.OemPeriod);

            case MacOSVirtualKey.Grave:
                return(VirtualKeys.OemTilde);

            case MacOSVirtualKey.KeypadDecimal:
                return(VirtualKeys.OemComma);

            case MacOSVirtualKey.KeypadMultiply:
                return(VirtualKeys.Multiply);

            case MacOSVirtualKey.KeypadPlus:
                return(VirtualKeys.OemPlus);

            case MacOSVirtualKey.KeypadClear:
                return(VirtualKeys.Clear);

            case MacOSVirtualKey.KeypadDivide:
                return(VirtualKeys.Divide);

            case MacOSVirtualKey.KeypadEnter:
                return(VirtualKeys.Enter);

            case MacOSVirtualKey.KeypadMinus:
                return(VirtualKeys.OemMinus);

            case MacOSVirtualKey.KeypadEquals:
                return(VirtualKeys.Add);

            case MacOSVirtualKey.Keypad0:
                return(VirtualKeys.NumPad0);

            case MacOSVirtualKey.Keypad1:
                return(VirtualKeys.NumPad1);

            case MacOSVirtualKey.Keypad2:
                return(VirtualKeys.NumPad2);

            case MacOSVirtualKey.Keypad3:
                return(VirtualKeys.NumPad3);

            case MacOSVirtualKey.Keypad4:
                return(VirtualKeys.NumPad4);

            case MacOSVirtualKey.Keypad5:
                return(VirtualKeys.NumPad5);

            case MacOSVirtualKey.Keypad6:
                return(VirtualKeys.NumPad6);

            case MacOSVirtualKey.Keypad7:
                return(VirtualKeys.NumPad7);

            case MacOSVirtualKey.Keypad8:
                return(VirtualKeys.NumPad8);

            case MacOSVirtualKey.Keypad9:
                return(VirtualKeys.NumPad9);

            case MacOSVirtualKey.Return:
                return(VirtualKeys.Return);

            case MacOSVirtualKey.Tab:
                return(VirtualKeys.Tab);

            case MacOSVirtualKey.Space:
                return(VirtualKeys.Space);

            case MacOSVirtualKey.Delete:
                return(VirtualKeys.Back);

            case MacOSVirtualKey.Escape:
                return(VirtualKeys.Escape);

            case MacOSVirtualKey.Command:
                return(VirtualKeys.LWin);

            case MacOSVirtualKey.Shift:
                return(VirtualKeys.LShiftKey);

            case MacOSVirtualKey.CapsLock:
                return(VirtualKeys.CapsLock);

            case MacOSVirtualKey.Option:
                return(VirtualKeys.LMenu);

            case MacOSVirtualKey.Control:
                return(VirtualKeys.LControlKey);

            case MacOSVirtualKey.RightShift:
                return(VirtualKeys.RShiftKey);

            case MacOSVirtualKey.RightOption:
                return(VirtualKeys.RMenu);

            case MacOSVirtualKey.RightControl:
                return(VirtualKeys.RControlKey);

            case MacOSVirtualKey.F17:
                return(VirtualKeys.F17);

            case MacOSVirtualKey.VolumeUp:
                return(VirtualKeys.VolumeUp);

            case MacOSVirtualKey.VolumeDown:
                return(VirtualKeys.VolumeDown);

            case MacOSVirtualKey.Mute:
                return(VirtualKeys.VolumeMute);

            case MacOSVirtualKey.F18:
                return(VirtualKeys.F18);

            case MacOSVirtualKey.F19:
                return(VirtualKeys.F19);

            case MacOSVirtualKey.F20:
                return(VirtualKeys.F20);

            case MacOSVirtualKey.F5:
                return(VirtualKeys.F5);

            case MacOSVirtualKey.F6:
                return(VirtualKeys.F6);

            case MacOSVirtualKey.F7:
                return(VirtualKeys.F7);

            case MacOSVirtualKey.F3:
                return(VirtualKeys.F3);

            case MacOSVirtualKey.F8:
                return(VirtualKeys.F8);

            case MacOSVirtualKey.F9:
                return(VirtualKeys.F9);

            case MacOSVirtualKey.F11:
                return(VirtualKeys.F11);

            case MacOSVirtualKey.F13:
                return(VirtualKeys.F13);

            case MacOSVirtualKey.F16:
                return(VirtualKeys.F16);

            case MacOSVirtualKey.F14:
                return(VirtualKeys.F14);

            case MacOSVirtualKey.F10:
                return(VirtualKeys.F10);

            case MacOSVirtualKey.F12:
                return(VirtualKeys.F12);

            case MacOSVirtualKey.F15:
                return(VirtualKeys.F15);

            case MacOSVirtualKey.Help:
                return(VirtualKeys.Help);

            case MacOSVirtualKey.Home:
                return(VirtualKeys.Home);

            case MacOSVirtualKey.PageUp:
                return(VirtualKeys.PageUp);

            case MacOSVirtualKey.ForwardDelete:
                return(VirtualKeys.Delete);

            case MacOSVirtualKey.F4:
                return(VirtualKeys.F4);

            case MacOSVirtualKey.End:
                return(VirtualKeys.End);

            case MacOSVirtualKey.F2:
                return(VirtualKeys.F2);

            case MacOSVirtualKey.PageDown:
                return(VirtualKeys.PageDown);

            case MacOSVirtualKey.F1:
                return(VirtualKeys.F1);

            case MacOSVirtualKey.LeftArrow:
                return(VirtualKeys.Left);

            case MacOSVirtualKey.RightArrow:
                return(VirtualKeys.Right);

            case MacOSVirtualKey.DownArrow:
                return(VirtualKeys.Down);

            case MacOSVirtualKey.UpArrow:
                return(VirtualKeys.Up);

            case MacOSVirtualKey.JISKana:
                return(VirtualKeys.KanaMode);
            }

            return(VirtualKeys.None);
        }