Exemplo n.º 1
0
        public void SetClientHotkey(ISClientInfoModel client, ISHotkeyModel cHk)
        {
            HotkeyModifiers mods = 0;

            mods = cHk.Alt ? mods |= HotkeyModifiers.Alt : mods;
            mods = cHk.Ctrl ? mods |= HotkeyModifiers.Ctrl : mods;
            mods = cHk.Shift ? mods |= HotkeyModifiers.Shift : mods;

            //Translate from avalonia to windows virtual key

            try
            {
#if WindowsBuild
                System.Windows.Input.Key a = (System.Windows.Input.Key)cHk.Key;
                Hotkey k = new Hotkey((WindowsVirtualKey)KeyInterop.VirtualKeyFromKey(a), mods);
#else
                //Translate from avalonia key to windows virtual key
                //This is a dirty method but should work for the majority of keys
                var    a = (WindowsVirtualKey)Enum.Parse(typeof(WindowsVirtualKey), cHk.Key.ToString());
                Hotkey k = new Hotkey(a, mods);
#endif

                client.SetHotkey(k);
            }catch (Exception ex)
            {
                ISLogger.Write("Failed to set hotkey: " + ex.Message);
            }
        }