예제 #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;
            }
        }
예제 #2
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);
            }
        }