Exemple #1
0
        private void OnPreviewKeyDown(object me, KeyEventArgs e)
        {
            if (e.Key == Key.Back)
            {
                ShortcutKey       = AlephKey.None;
                ShortcutModifiers = AlephModifierKeys.None;

                e.Handled = true;
                return;
            }

            if (SPECIAL_KEYS.Contains(e.Key))
            {
                e.Handled = true;
                return;
            }

            ShortcutKey = (AlephKey)e.Key;

            var smod = (AlephModifierKeys)e.KeyboardDevice.Modifiers;

            if (e.KeyboardDevice.GetKeyStates(Key.LWin).HasFlag(KeyStates.Down))
            {
                smod |= AlephModifierKeys.Windows;
            }
            if (e.KeyboardDevice.GetKeyStates(Key.RWin).HasFlag(KeyStates.Down))
            {
                smod |= AlephModifierKeys.Windows;
            }

            ShortcutModifiers = smod;

            e.Handled = true;
        }
 public ObservableShortcutConfig(string id, string d, AlephKey k, AlephModifierKeys m, AlephShortcutScope s)
 {
     _identifier  = id;
     _description = d;
     _key         = k;
     _modifiers   = m;
     _scope       = s;
 }
Exemple #3
0
        public void Register(AlephModifierKeys mod, AlephKey key, string action)
        {
            var imod = (uint)mod;
            var ikey = (uint)KeyInterop.VirtualKeyFromKey((Key)key);

            UnregisterHotKey(mod, key, action);

            if (init)
            {
                RegisterHotKey(_windowHandle, _nextID, imod, ikey);
            }

            _hotkeys.Add(Tuple.Create(imod, ikey, _nextID, action));
            _nextID++;
        }
Exemple #4
0
        public void UnregisterHotKey(AlephModifierKeys mod, AlephKey key, string action)
        {
            var imod = (uint)mod;
            var ikey = (uint)KeyInterop.VirtualKeyFromKey((Key)key);

            for (;;)
            {
                var old = _hotkeys.FirstOrDefault(hk => hk.Item1 == imod && hk.Item2 == ikey && hk.Item4 == action);
                if (old == null)
                {
                    return;
                }
                _hotkeys.Remove(old);

                if (init)
                {
                    UnregisterHotKey(_windowHandle, old.Item3);
                }
            }
        }
 public ShortcutDefinition(AlephShortcutScope s, AlephModifierKeys m, AlephKey k)
 {
     Scope     = s;
     Modifiers = m;
     Key       = k;
 }