Example #1
0
        private InkInputProvider CreateAndAddInkProvider(string pointerDeviceType)
        {
            InkInputProvider inkInputProvider = new InkInputProvider((InkInputType)Enum.Parse(typeof(InkInputType), pointerDeviceType));

            //inkInputProvider.AddProperty(); // Add properties if any
            inkInputProvider.Seal();

            Identifier inkInputProviderId = inkInputProvider.Id;
            bool       res = InkDocument.InputConfiguration.InkInputProviders.Any((prov) => prov.Id == inkInputProviderId);

            if (!res)
            {
                InkDocument.InputConfiguration.InkInputProviders.Add(inkInputProvider);
            }


            return(inkInputProvider);
        }
Example #2
0
        private void InitInputConfig()
        {
            // Init input providers
            var mouseInputProvider = new InkInputProvider(InkInputType.Mouse);
            var touchInputProvider = new InkInputProvider(InkInputType.Touch);
            var penInputProvider   = new InkInputProvider(InkInputType.Pen);

            mouseInputProvider.Seal();
            touchInputProvider.Seal();
            penInputProvider.Seal();

            // Cache input providers
            mInkInputProvidersMap.Add(mouseInputProvider.Id, mouseInputProvider);
            mInkInputProvidersMap.Add(touchInputProvider.Id, touchInputProvider);
            mInkInputProvidersMap.Add(penInputProvider.Id, penInputProvider);

            // Init input device
            mCurrentInputDevice.Properties["dev.name"]         = mEAS.FriendlyName;
            mCurrentInputDevice.Properties["dev.model"]        = mEAS.SystemProductName;
            mCurrentInputDevice.Properties["dev.manufacturer"] = mEAS.SystemManufacturer;
            mCurrentInputDevice.Seal();

            // Cache input device
            mInputDevices.Add(mCurrentInputDevice.Id, mCurrentInputDevice);

            // Init environment
            mEnvironment.Properties["os.name"]         = mEAS.OperatingSystem;
            mEnvironment.Properties["os.version.code"] = System.Environment.OSVersion.Version.ToString();
            mEnvironment.Seal();

            // Cache the environment
            mEnvironments.Add(mEnvironment.Id, mEnvironment);

            // Init sensor channels contexts
            SensorChannelsContext mouseSensorChannelsContext = CreateChannelsGroup(mouseInputProvider, mCurrentInputDevice);
            SensorChannelsContext touchSensorChannelsContext = CreateChannelsGroup(touchInputProvider, mCurrentInputDevice);
            SensorChannelsContext penSensorChannelsContext   = CreateChannelsGroup(penInputProvider, mCurrentInputDevice);

            // Cache sensor channels contexts
            mSensorChannelsContexts.Add(mouseSensorChannelsContext.Id, mouseSensorChannelsContext);
            mSensorChannelsContexts.Add(touchSensorChannelsContext.Id, touchSensorChannelsContext);
            mSensorChannelsContexts.Add(penSensorChannelsContext.Id, penSensorChannelsContext);

            // Init sensor contexts
            SensorContext mouseSensorContext = new SensorContext();

            mouseSensorContext.AddSensorChannelsContext(mouseSensorChannelsContext);

            SensorContext touchSensorContext = new SensorContext();

            touchSensorContext.AddSensorChannelsContext(touchSensorChannelsContext);

            SensorContext penSensorContext = new SensorContext();

            penSensorContext.AddSensorChannelsContext(penSensorChannelsContext);

            // Cache sensor contexts
            mSensorContexts.Add(mouseSensorContext.Id, mouseSensorContext);
            mSensorContexts.Add(touchSensorContext.Id, touchSensorContext);
            mSensorContexts.Add(penSensorContext.Id, penSensorContext);

            // Init input contexts
            InputContext mouseInputContext = new InputContext(mEnvironment.Id, mouseSensorContext.Id);
            InputContext touchInputContext = new InputContext(mEnvironment.Id, touchSensorContext.Id);
            InputContext penInputContext   = new InputContext(mEnvironment.Id, penSensorContext.Id);

            // Cache input contexts
            mInputContexts.Add(mouseInputContext.Id, mouseInputContext);
            mInputContexts.Add(touchInputContext.Id, touchInputContext);
            mInputContexts.Add(penInputContext.Id, penInputContext);

            mDeviceTypeMap.Add(PointerDeviceType.Mouse, mouseInputContext.Id);
            mDeviceTypeMap.Add(PointerDeviceType.Touch, touchInputContext.Id);
            mDeviceTypeMap.Add(PointerDeviceType.Pen, penInputContext.Id);
        }