示例#1
0
        private static bool TryImportUnprintableMapping(
            string mappingTarget,
            KeyboardKey keyboardKey,
            out IKeyboardKeyMapping keyMapping)
        {
            var parseSuccess = HardwareKeyMappingTarget.TryImport(mappingTarget, out HardwareKeyMappingTarget unprintable);

            keyMapping = parseSuccess ? new KeyMapping(keyboardKey, unprintable) : null;
            return(parseSuccess);
        }
示例#2
0
        private static bool TryImportPrintableMapping(
            string mappingTarget,
            KeyboardKey keyboardKey,
            out IKeyboardKeyMapping keyMapping)
        {
            var parseSuccess = CharacterMappingTarget.TryImport(mappingTarget, out CharacterMappingTarget character);

            keyMapping = parseSuccess ? new KeyMapping(keyboardKey, character) : null;
            return(parseSuccess);
        }
示例#3
0
        private static void SetMapping(IKeyboardKeyMapping mapping, ICollection <IKeyboardKeyMapping> keyMappings)
        {
            var oldKeyMapping = keyMappings.FirstOrDefault(m => m.Equals(mapping));

            if (oldKeyMapping != null)
            {
                keyMappings.Remove(oldKeyMapping);
            }

            keyMappings.Add(mapping);
        }
示例#4
0
        private static bool TryImportMapping(
            string mappingTarget,
            KeyboardKey keyboardKey,
            out IKeyboardKeyMapping keyMapping)
        {
            var mappingSuccess = TryImportPrintableMapping(mappingTarget, keyboardKey, out keyMapping);

            if (!mappingSuccess)
            {
                mappingSuccess = TryImportUnprintableMapping(mappingTarget, keyboardKey, out keyMapping);
            }

            return(mappingSuccess);
        }