Esempio n. 1
0
        static private void RegisterBindings(Dictionary <string, Key[]> config)
        {
            var bindings = new Dictionary <string, Tuple <Key[], VirtualKeyCode[], VirtualKeyCode[]> >();

            foreach (var key in config.Keys)
            {
                var keys    = config[key];
                var binding = MainUtils.ConvertKeys(keys);
                bindings[key] = binding;
            }
            lock (_bindingsLock)
            {
                _bindings = bindings;
            }
        }
Esempio n. 2
0
 // Add incoming keys to the current binding
 public void OnKeyDown(Key key)
 {
     if (MainUtils.MatchVirtualKey(key) != null)
     {
         if (_registeringElement == null)
         {
             return;
         }
         if (_keysDown.Count == 0)
         {
             _keys.Clear();
         }
         _keys.Add(key);
         _keysDown.Add(key);
         UpdateCurrentObject();
     }
 }
Esempio n. 3
0
        /**
         * Store key codes as virtual key codes.
         */
        static public void RegisterBinding(string actionKey, HashSet <Key> keys)
        {
            var keysArr = new Key[keys.Count];

            keys.CopyTo(keysArr);
            var binding = MainUtils.ConvertKeys(keysArr);

            lock (_bindingsLock)
            {
                _bindings[actionKey] = binding;
                var config = new Dictionary <string, Key[]>();
                foreach (var key in _bindings.Keys)
                {
                    config.Add(key, _bindings[key].Item1);
                }
                StoreConfig(config);
            }
        }