Exemple #1
0
 void OnHookInvoked(object sender, HookEventArgs e)
 {
     if ((e.WParam == WM_KEYDOWN || e.WParam == WM_SYSKEYDOWN) && KeyDown != null)
     {
         KeyboardHookStruct khs = new KeyboardHookStruct(e);
         KeyEventArgsEx     kea = new KeyEventArgsEx(khs.virtualKey, Control.ModifierKeys, khs.scanCode);
         KeyDown(sender, kea);
         e.Handled = kea.Handled;
     }
     else if ((e.WParam == WM_KEYUP || e.WParam == WM_SYSKEYUP) && KeyUp != null)
     {
         KeyboardHookStruct khs = new KeyboardHookStruct(e);
         KeyEventArgsEx     kea = new KeyEventArgsEx(khs.virtualKey, Control.ModifierKeys, khs.scanCode);
         KeyUp(sender, kea);
         e.Handled = kea.Handled;
     }
 }
Exemple #2
0
        void hook_KeyUp(object sender, KeyEventArgsEx e)
        {
            if (GUIWindowManager.ActiveWindowEx != this.GetID)
                return;

            try
            {
                //BaseConfig.MyAnimeLog.Write("e.KeyCode: {0} - {1} - {2}", e.KeyCode, e.keyChar, e.KeyValue);
            }
            catch { }

            //when the list is selected, search the input
            if ((m_Facade.CurrentLayout == GUIFacadeControl.Layout.List && m_Facade.ListLayout.IsFocused)
                || (m_Facade.CurrentLayout == GUIFacadeControl.Layout.LargeIcons && m_Facade.ThumbnailLayout.IsFocused)
                || (m_Facade.CurrentLayout == GUIFacadeControl.Layout.Filmstrip && m_Facade.FilmstripLayout.IsFocused)
                || (m_Facade.CurrentLayout == GUIFacadeControl.Layout.CoverFlow && m_Facade.CoverFlowLayout.IsFocused))
            {
                e.Handled = true;

                //catch ctrl+w and ctrl+m for toggling search word and mode
                if (e.Control)
                {
                    switch (e.KeyCode)
                    {
                        case Keys.W:
                            OnSearchAction(SearchAction.ToggleStartWord);
                            break;
                        case Keys.M:
                            OnSearchAction(SearchAction.ToggleMode);
                            break;
                        default:
                            e.Handled = false;
                            return; //do nothing
                    }
                }
                else
                {
                    switch (e.KeyCode)
                    {
                        case Keys.Back:
                            OnSearchAction(SearchAction.DeleteChar);
                            break;
                        case Keys.Tab:
                            OnSearchAction(SearchAction.NextMatch);
                            break;
                        default:
                            if (!OnSearchChar(e.keyChar))
                            {
                                e.Handled = false;
                                return; //do nothing
                            }
                            break;
                    }
                }

                if (e.Handled)
                {
                    //we handled the keypress: make some noise
                    if (!string.IsNullOrEmpty(searchSound) && !MediaPortal.Player.g_Player.Playing)
                        MediaPortal.Util.Utils.PlaySound(searchSound, false, true);
                }
            }
        }
Exemple #3
0
        void hook_KeyDown(object sender, KeyEventArgsEx e)
        {
            if (GUIWindowManager.ActiveWindowEx != this.GetID)
                return;

            //mark normal keys as handled, otherwise some other handler might be called
            // (like 'home' for 'h')
            if (!e.Alt && !e.Control && IsSearchChar(e.keyChar) && MediaPortal.Player.g_Player.Playing == false)
                e.Handled = true;
        }
Exemple #4
0
 void OnHookInvoked(object sender, HookEventArgs e)
 {
     if ((e.WParam == WM_KEYDOWN || e.WParam == WM_SYSKEYDOWN) && KeyDown != null)
     {
         KeyboardHookStruct khs = new KeyboardHookStruct(e);
         KeyEventArgsEx kea = new KeyEventArgsEx(khs.virtualKey, Control.ModifierKeys, khs.scanCode);
         KeyDown(sender, kea);
         e.Handled = kea.Handled;
     }
     else if ((e.WParam == WM_KEYUP || e.WParam == WM_SYSKEYUP) && KeyUp != null)
     {
         KeyboardHookStruct khs = new KeyboardHookStruct(e);
         KeyEventArgsEx kea = new KeyEventArgsEx(khs.virtualKey, Control.ModifierKeys, khs.scanCode);
         KeyUp(sender, kea);
         e.Handled = kea.Handled;
     }
 }