Ejemplo n.º 1
0
        private KeyboardService()
        {
            Helper.KeyDown = (e) =>
            {
                e.Handled = true;

                // use this to place focus in search box
                if (e.OnlyControl && e.Character.ToString().ToLower().Equals("e"))
                {
                    AfterControlEGesture?.Invoke();
                }

                // use this for hamburger menu
                else if (e.VirtualKey == Windows.System.VirtualKey.GamepadMenu)
                {
                    AfterMenuGesture?.Invoke();
                }

                // anything else
                else
                {
                    e.Handled = false;
                }

                AfterKeyDown?.Invoke(e);
            };
        }
Ejemplo n.º 2
0
        public GestureService(IBackButtonService backService, IKeyboardService keyService)
        {
            Two.BackService = backService as IBackButtonService2;
            Two.BackService.BackRequested += (s, e) =>
            {
                BackRequested2?.Invoke(s, e);
                if (AllowBackRequested)
                {
                    BackRequested?.Invoke(s, e);
                }
            };

            Two.BackService.ForwardRequested += (s, e) =>
            {
                ForwardRequested2?.Invoke(s, e);
                if (AllowForwardRequested)
                {
                    ForwardRequested?.Invoke(s, e);
                }
            };

            Two.KeyService = keyService as IKeyboardService2;
            Two.KeyService.AfterSearchGesture += (s, e) => AfterSearchGesture?.Invoke(s, e);
            Two.KeyService.AfterMenuGesture   += (s, e) => AfterMenuGesture?.Invoke(s, e);
            Two.KeyService.AfterKeyDown       += (s, e) => AfterKeyDown?.Invoke(s, e);
        }
Ejemplo n.º 3
0
        /// <remarks>
        /// This must be called AFTER the first window is created.
        /// </remarks>
        void IKeyboardService2.Setup()
        {
            _helper = new KeyboardHelper
            {
                KeyDown = (e) =>
                {
                    e.Handled = true;

                    if (e.OnlyControl && e.Character.ToString().ToLower().Equals("e"))
                    {
                        AfterSearchGesture?.Invoke(this, EventArgs.Empty);
                    }
                    else if (e.VirtualKey == Windows.System.VirtualKey.GamepadMenu)
                    {
                        AfterMenuGesture?.Invoke(this, EventArgs.Empty);
                    }
                    else
                    {
                        e.Handled = false;
                    }

                    AfterKeyDown?.Invoke(this, e);
                }
            };
        }
Ejemplo n.º 4
0
        /// <remarks>
        /// This must be called AFTER the first window is created.
        /// </remarks>
        public void Setup()
        {
            if (_Setup)
            {
                return;
            }
            else
            {
                _Setup = true;
            }
            _helper = new KeyboardHelper()
            {
                KeyDown = (e) =>
                {
                    e.Handled = true;

                    // use this to place focus in search box
                    if (e.OnlyControl && e.Character.ToString().ToLower().Equals("e"))
                    {
                        AfterControlEGesture?.Invoke();
                    }

                    // use this for hamburger menu
                    else if (e.VirtualKey == Windows.System.VirtualKey.GamepadMenu)
                    {
                        AfterMenuGesture?.Invoke();
                    }

                    // anything else
                    else
                    {
                        e.Handled = false;
                    }

                    AfterKeyDown?.Invoke(e);
                }
            };
        }
Ejemplo n.º 5
0
        private KeyboardService()
        {
            _helper         = new KeyboardHelper();
            _helper.KeyDown = async(e) =>
            {
                e.Handled = true;

                // use this to place focus in search box
                if (e.OnlyControl && e.Character.ToString().ToLower().Equals("e"))
                {
                    DebugWrite("Control+E", caller: nameof(AfterControlEGesture));
                    AfterControlEGesture?.Invoke();
                }

                // use this to nav back
                else if (e.VirtualKey == Windows.System.VirtualKey.GoBack)
                {
                    DebugWrite("GoBack", caller: nameof(AfterBackGesture));
                    AfterBackGesture?.Invoke();
                }

                else if (e.VirtualKey == Windows.System.VirtualKey.NavigationLeft)
                {
                    DebugWrite("NavigationLeft", caller: nameof(AfterBackGesture));
                    AfterBackGesture?.Invoke();
                }

                else if (e.VirtualKey == Windows.System.VirtualKey.GamepadMenu)
                {
                    DebugWrite("GamepadMenu", caller: nameof(AfterMenuGesture));
                    AfterMenuGesture?.Invoke();
                }

                else if (e.VirtualKey == Windows.System.VirtualKey.GamepadLeftShoulder)
                {
                    DebugWrite("GamepadLeftShoulder", caller: nameof(AfterBackGesture));
                    AfterBackGesture?.Invoke();
                }

                else if (e.OnlyAlt && e.VirtualKey == Windows.System.VirtualKey.Back)
                {
                    DebugWrite("Alt+Back", caller: nameof(AfterBackGesture));
                    AfterBackGesture?.Invoke();
                }

                else if (e.OnlyAlt && e.VirtualKey == Windows.System.VirtualKey.Left)
                {
                    DebugWrite("Alt+Left", caller: nameof(AfterBackGesture));
                    AfterBackGesture?.Invoke();
                }

                // use this to nav forward
                else if (e.VirtualKey == Windows.System.VirtualKey.GoForward)
                {
                    DebugWrite("GoForward", caller: nameof(AfterForwardGesture));
                    AfterForwardGesture?.Invoke();
                }
                else if (e.VirtualKey == Windows.System.VirtualKey.NavigationRight)
                {
                    DebugWrite("NavigationRight", caller: nameof(AfterForwardGesture));
                    AfterForwardGesture?.Invoke();
                }
                else if (e.VirtualKey == Windows.System.VirtualKey.GamepadRightShoulder)
                {
                    DebugWrite("GamepadRightShoulder", caller: nameof(AfterForwardGesture));
                    AfterForwardGesture?.Invoke();
                }
                else if (e.OnlyAlt && e.VirtualKey == Windows.System.VirtualKey.Right)
                {
                    DebugWrite("Alt+Right", caller: nameof(AfterForwardGesture));
                    AfterForwardGesture?.Invoke();
                }

                // about
                else if (e.AltKey && e.ControlKey && e.ShiftKey && e.VirtualKey == Windows.System.VirtualKey.F12)
                {
                    var about = new Windows.UI.Xaml.Controls.ContentDialog
                    {
                        Title               = "Template 10",
                        PrimaryButtonText   = "Info",
                        SecondaryButtonText = "Close"
                    };

                    try
                    {
                        var result = await about.ShowAsync();

                        if (result == Windows.UI.Xaml.Controls.ContentDialogResult.Primary)
                        {
                            await Windows.System.Launcher.LaunchUriAsync(new Uri("http://aka.ms/template10"));
                        }
                    }
                    catch (System.Runtime.InteropServices.COMException)
                    {
                        DebugWrite("About dialog already showing");
                    }
                }

                // anything else
                else
                {
                    e.Handled = false;
                }
            };
            _helper.PointerGoBackGestured = () =>
            {
                DebugWrite(caller: nameof(KeyboardHelper.PointerGoBackGestured));
                AfterBackGesture?.Invoke();
            };
            _helper.PointerGoForwardGestured = () =>
            {
                DebugWrite(caller: nameof(KeyboardHelper.PointerGoForwardGestured));
                AfterForwardGesture?.Invoke();
            };
        }
Ejemplo n.º 6
0
            private KeyboardService()
            {
                _helper         = new KeyboardHelper();
                _helper.KeyDown = async(e) =>
                {
                    e.Handled = true;

                    // use this to place focus in search box
                    if (e.OnlyControl && e.Character.ToString().ToLower().Equals("e"))
                    {
                        AfterControlEGesture?.Invoke();
                    }

                    // use this to nav back
                    else if (e.VirtualKey == Windows.System.VirtualKey.GoBack)
                    {
                        Debug.WriteLine("GoBack:AfterBackGesture");
                        AfterBackGesture?.Invoke();
                    }

                    else if (e.VirtualKey == Windows.System.VirtualKey.NavigationLeft)
                    {
                        Debug.WriteLine("NavigationLeft:AfterBackGesture");
                        AfterBackGesture?.Invoke();
                    }

                    else if (e.VirtualKey == Windows.System.VirtualKey.GamepadMenu)
                    {
                        Debug.WriteLine("GamepadMenu:AfterMenuGesture");
                        AfterMenuGesture?.Invoke();
                    }

                    else if (e.VirtualKey == Windows.System.VirtualKey.GamepadLeftShoulder)
                    {
                        Debug.WriteLine("GamepadLeftShoulder:AfterBackGesture");
                        AfterBackGesture?.Invoke();
                    }

                    else if (e.OnlyAlt && e.VirtualKey == Windows.System.VirtualKey.Back)
                    {
                        Debug.WriteLine("Alt+Back:AfterBackGesture");
                        AfterBackGesture?.Invoke();
                    }

                    else if (e.OnlyAlt && e.VirtualKey == Windows.System.VirtualKey.Left)
                    {
                        Debug.WriteLine("Alt+Left:AfterBackGesture");
                        AfterBackGesture?.Invoke();
                    }

                    // use this to nav forward
                    else if (e.VirtualKey == Windows.System.VirtualKey.GoForward)
                    {
                        Debug.WriteLine("GoForward:AfterForwardGesture");
                        AfterForwardGesture?.Invoke();
                    }
                    else if (e.VirtualKey == Windows.System.VirtualKey.NavigationRight)
                    {
                        Debug.WriteLine("NavigationRight:AfterForwardGesture");
                        AfterForwardGesture?.Invoke();
                    }
                    else if (e.VirtualKey == Windows.System.VirtualKey.GamepadRightShoulder)
                    {
                        Debug.WriteLine("GamepadRightShoulder:AfterForwardGesture");
                        AfterForwardGesture?.Invoke();
                    }
                    else if (e.OnlyAlt && e.VirtualKey == Windows.System.VirtualKey.Right)
                    {
                        Debug.WriteLine("Alt+Right:AfterForwardGesture");
                        AfterForwardGesture?.Invoke();
                    }

                    // anything else
                    else
                    {
                        e.Handled = false;
                    }
                };
                _helper.PointerGoBackGestured = () =>
                {
                    Debug.WriteLine("PointerGoBackGestured");
                    AfterBackGesture?.Invoke();
                };
                _helper.PointerGoForwardGestured = () =>
                {
                    Debug.WriteLine("PointerGoForwardGestured");
                    AfterForwardGesture?.Invoke();
                };
            }
        private KeyboardService()
        {
            _helper         = new KeyboardHelper();
            _helper.KeyDown = e =>
            {
                e.Handled = true;

                // use this to nav back
                if (e.VirtualKey == Windows.System.VirtualKey.GoBack)
                {
                    DebugWrite("GoBack", caller: nameof(AfterBackGesture));
                    AfterBackGesture?.Invoke(e.VirtualKey);
                }
                else if (e.VirtualKey == Windows.System.VirtualKey.NavigationLeft)
                {
                    DebugWrite("NavigationLeft", caller: nameof(AfterBackGesture));
                    AfterBackGesture?.Invoke(e.VirtualKey);
                }
                else if (e.VirtualKey == Windows.System.VirtualKey.GamepadMenu)
                {
                    DebugWrite("GamepadMenu", caller: nameof(AfterMenuGesture));
                    AfterMenuGesture?.Invoke();
                }
                else if (e.VirtualKey == Windows.System.VirtualKey.GamepadLeftShoulder)
                {
                    DebugWrite("GamepadLeftShoulder", caller: nameof(AfterBackGesture));
                    AfterBackGesture?.Invoke(e.VirtualKey);
                }
                else if (e.OnlyAlt && e.VirtualKey == Windows.System.VirtualKey.Back)
                {
                    DebugWrite("Alt+Back", caller: nameof(AfterBackGesture));
                    AfterBackGesture?.Invoke(e.VirtualKey);
                }
                else if (e.OnlyAlt && e.VirtualKey == Windows.System.VirtualKey.Left)
                {
                    DebugWrite("Alt+Left", caller: nameof(AfterBackGesture));
                    AfterBackGesture?.Invoke(e.VirtualKey);
                }
                else if (e.VirtualKey == Windows.System.VirtualKey.Escape)
                {
                    DebugWrite("Escape", caller: nameof(AfterBackGesture));
                    AfterBackGesture?.Invoke(e.VirtualKey);
                }
                // use this to nav forward
                else if (e.VirtualKey == Windows.System.VirtualKey.GoForward)
                {
                    DebugWrite("GoForward", caller: nameof(AfterForwardGesture));
                    AfterForwardGesture?.Invoke();
                }
                else if (e.VirtualKey == Windows.System.VirtualKey.NavigationRight)
                {
                    DebugWrite("NavigationRight", caller: nameof(AfterForwardGesture));
                    AfterForwardGesture?.Invoke();
                }
                else if (e.VirtualKey == Windows.System.VirtualKey.GamepadRightShoulder)
                {
                    DebugWrite("GamepadRightShoulder", caller: nameof(AfterForwardGesture));
                    AfterForwardGesture?.Invoke();
                }
                else if (e.OnlyAlt && e.VirtualKey == Windows.System.VirtualKey.Right)
                {
                    DebugWrite("Alt+Right", caller: nameof(AfterForwardGesture));
                    AfterForwardGesture?.Invoke();
                }

                // anything else
                else
                {
                    e.Handled = false;
                }
            };
            _helper.PointerGoBackGestured = () =>
            {
                DebugWrite(caller: nameof(KeyboardHelper.PointerGoBackGestured));
                AfterBackGesture?.Invoke(Windows.System.VirtualKey.GoBack);
            };
            _helper.PointerGoForwardGestured = () =>
            {
                DebugWrite(caller: nameof(KeyboardHelper.PointerGoForwardGestured));
                AfterForwardGesture?.Invoke();
            };
        }