public async Task ChangeKeyStatus(string key, KeyStatus status, string adminId, string comment) { var client = await GetClient(); var serialResult = await client.GetAsync <SerialKey>(key); if (!serialResult.Found) { throw new InvalidOperationException("Serial key not found in the database."); } var serial = serialResult.Source; if (serial.Status == KeyStatus.Revoked) { throw new InvalidOperationException("Serial key already revoked"); } var oldStatus = serial.Status; serial.Status = status; serial.AuditTrack.Add(new AuditEntry { Action = $"Changed status from {oldStatus} to {status}", Author = adminId, Comment = comment, Date = DateTime.UtcNow }); var result = await client.IndexAsync(serial); if (!result.IsValid) { throw new InvalidOperationException($"Failed to change key status : {result.ServerError.Error.Reason}"); } }
public static void OperateKey(User32.VirtualKey virtualKey, KeyStatus keyStatus) { // keybd_event //第一个参数:虚拟键码 //第二个参数:硬件扫描码,一般设置为0即可; //第三个参数:函数操作的一个标志位,如果值为KEYEVENTF_EXTENDEDKEY则该键被按下,也可设置为0即可,如果值为KEYEVENTF_KEYUP则该按键被释放; //第四个参数:定义与击键相关的附加的32位值,一般设置为0即可。 switch (keyStatus) { case KeyStatus.Press: User32.keybd_event(virtualKey.ToByte(), 0, User32.KEYEVENTF.KEYEVENTF_UNICODE, IntPtr.Zero); Thread.Sleep(TimeSpan.FromMilliseconds(50)); break; case KeyStatus.Release: User32.keybd_event(virtualKey.ToByte(), 0, User32.KEYEVENTF.KEYEVENTF_KEYUP, IntPtr.Zero); Thread.Sleep(TimeSpan.FromMilliseconds(50)); break; case KeyStatus.Click: User32.keybd_event(virtualKey.ToByte(), 0, User32.KEYEVENTF.KEYEVENTF_UNICODE, IntPtr.Zero); Thread.Sleep(TimeSpan.FromMilliseconds(50)); User32.keybd_event(virtualKey.ToByte(), 0, User32.KEYEVENTF.KEYEVENTF_KEYUP, IntPtr.Zero); Thread.Sleep(TimeSpan.FromMilliseconds(50)); break; default: break; } }
public ButtonEventArgs(bool pressed, int x, int y, KeyStatus status) { this.Pressed = pressed; this.X = x; this.Y = y; this.Status = status; }
private void OnEnable() { keyEnabled = inputMapper.GetEnabledState(); inputMapper.SetEnableGroup(AbstractKeyGroup.None); popupController.entry = entry; popupController.Show(); }
private IntPtr KeyboardHookCallback(int nCode, IntPtr wParam, ref KBDLLHOOKSTRUCT lParam) { bool allowContinue = true; KeyStatus keyStatus = KeyStatus.None; if (nCode >= 0 && (wParam == (IntPtr)WM_KEYUP || wParam == (IntPtr)WM_SYSKEYUP || wParam == (IntPtr)WM_KEYDOWN || wParam == (IntPtr)WM_SYSKEYDOWN)) { if (wParam == (IntPtr)WM_KEYUP || wParam == (IntPtr)WM_SYSKEYUP) { keyStatus = KeyStatus.Up; } else if (wParam == (IntPtr)WM_KEYDOWN || wParam == (IntPtr)WM_SYSKEYDOWN) { keyStatus = KeyStatus.Down; } allowContinue = HandleKey(new KeyPress(lParam.vkCode, keyStatus)); } if (allowContinue) { return(NativeMethods.CallNextHookEx(_keyboardHookID, nCode, wParam, ref lParam)); } return((System.IntPtr) 1); }
public override bool OnKeyMessage(FuntionShortCutSlotIndex index, KeyStatus status) { if (m_wndView == null) { return(false); } if (index == FuntionShortCutSlotIndex.DragonBall && status == KeyStatus.Down) { if (IsForbitBall()) { return(false); } if (!m_wndView.IsVisible()) { m_wndView.SetVisible(true); } else { m_wndView.SetVisible(false); m_wndView.ChangeDragonBallToFirstPage(); } } return(true); }
/// <summary> /// 判断一个功能的对应键是否处于某个状态 /// </summary> /// <param name="ks">状态</param> /// <param name="kc">功能</param> /// <returns></returns> public static bool GetKey <T>(KeyStatus ks, T kc) { if (!typeof(T).IsEnum) { throw new System.ArgumentException("Please use Enum for Key!"); } KeyCode inputKey; bool isContainThisKey = CurrrentKeymap.TryGetValue((int)(object)kc, out inputKey); bool result = false; if (isContainThisKey) { switch (ks) { case KeyStatus.Push: result = Input.GetKeyDown(inputKey); break; case KeyStatus.Release: result = Input.GetKeyUp(inputKey); break; case KeyStatus.On: result = Input.GetKey(inputKey); break; default: break; } } return(result); }
public override bool OnKey(Key key, KeyStatus status, Vector2 mousePos) { if (key == Key.MouseKeyLeft) { if (status == KeyStatus.Down) { if (_selector?.Bounds.ContainsInclusive(mousePos) ?? false) { _dragging = mousePos - _selector.Position2; } else { _dragging = Vector2.One; } OnMouseMove(mousePos); } else if (status == KeyStatus.Up) { _dragging = Vector2.Zero; } } if (ScrollParent != null) { return(ScrollParent.OnKey(key, status, mousePos)); } return(base.OnKey(key, status, mousePos)); }
// 按键消息 public bool OnKeyMessage(FuntionShortCutSlotIndex index, KeyStatus status) { if (m_keyMessageList == null) { return(false); } if (index == FuntionShortCutSlotIndex.Exit && status == KeyStatus.Down) { OnPressCloseKey(); return(true); } List <IUIWnd> list; if (m_keyMessageList[(int)status].TryGetValue(index, out list)) { // 先复制一份以防目标在OnKeyMessage中改变订阅list IUIWnd[] tempList = new IUIWnd[list.Count]; list.CopyTo(tempList); for (int i = 0; i < tempList.Length; ++i) { if (tempList[i].OnKeyMessage(index, status)) { return(true); } } } return(false); }
public KeyInfo( Uid id, long ownerId, string name, KeyDataFormat format, byte[] data, JsonObject aad, Uid kekId, DateTime?activated = null, KeyType type = KeyType.Secret, KeyStatus status = KeyStatus.Active) { Ensure.IsValidId(ownerId, nameof(ownerId)); Ensure.NotNullOrEmpty(name, nameof(name)); Ensure.NotNullOrEmpty(data, nameof(data)); Id = id; OwnerId = ownerId; Name = name; Format = format; Data = data; Aad = aad; KekId = kekId; Activated = activated; Status = status; }
private void UpdateButtonStatus(ButtonType type, ref float keyDownTime, ref KeyStatus status) { if (null == mController) { return; } if (mController.IsButtonDown(type)) { keyDownTime = Time.realtimeSinceStartup; status = KeyStatus.KeyDown; } else if (mController.IsButtonPressed(type)) { status = KeyStatus.KeyPressed; } else if (mController.IsButtonUp(type)) { status = KeyStatus.KeyUp; } else { status = KeyStatus.KeyRelease; } }
private static int HookProcedureCallback(int nCode, IntPtr wParam, IntPtr lParam) { RefreshSlideViewWindowHandle(); //Only process inputs that are sent to the main slide view window. if (!IsSlideViewWindowFocused()) { return(Native.CallNextHookEx(0, nCode, wParam, lParam)); } bool blockInput = false; if (nCode == 0) { int keyIndex = wParam.ToInt32(); if (_keyStatuses.ContainsKey(keyIndex)) { KeyStatus keyStatus = _keyStatuses[keyIndex]; if (IsKeydownCommand(lParam)) { if (!keyStatus.IsPressed) { keyStatus.Press(); } foreach (BindedAction action in _keyDownActions[keyIndex]) { bool block = action.RunConditionally(keyStatus); if (block) { blockInput = true; } } } else { if (keyStatus.IsPressed) { foreach (BindedAction action in _keyUpActions[keyIndex]) { bool block = action.RunConditionally(keyStatus); if (block) { blockInput = true; } } keyStatus.Release(); } } } } if (blockInput) { return(1); } else { return(Native.CallNextHookEx(0, nCode, wParam, lParam)); } }
// 订阅按键消息 public bool RegisterKeyMessage(FuntionShortCutSlotIndex index, KeyStatus status, IUIWnd wnd) { if (m_keyMessageList == null || m_keyMessageList[(int)status] == null || wnd == null) { return(false); } List <IUIWnd> list; if (m_keyMessageList[(int)status].TryGetValue(index, out list)) { for (int i = 0; i < list.Count; ++i) { if (list[i] == wnd) { return(false); } } list.Add(wnd); } else { list = new List <IUIWnd>(); list.Add(wnd); m_keyMessageList[(int)status][index] = list; } return(true); }
private void SwapKeyStatus() { var tmp = keyStatusLastFrame; keyStatusLastFrame = keyStatus; keyStatus = tmp; }
public FindInfo(KeyStatus keyStatus, string name, string path, string key) { KeyStatus = keyStatus; Name = name; Path = path; Key = key; }
private void activateSuccess() { Debug.Log("called activated"); this.GetComponentInChildren <Pattern>().enabled = false; ActivatedClip.Play(); HintBall.SetActive(false); status = KeyStatus.Active; //ActiveBall.GetComponent<ParticleSystem>().Play(true); ActiveBall.SetActive(true); curOnLitFrame = 0; int id = 0; foreach (GameObject lightObj in Lights) { lightObj.GetComponentInChildren <Light>().enabled = true; Renderer[] curRenderers = lightObj.GetComponentsInChildren <Renderer>(); for (int i = 0; i < curRenderers.Length; i++) { Material[] srcRenderers = (Material[])onLightMaterial[id]; curRenderers[i].materials = srcRenderers; //Debug.Log(srcRenderers[0].name); //Debug.Log(srcRenderers[1].name); id++; } } this.GetComponent <KeyCharacterController>().LeaveKey(); GameObject.Find("Character").GetComponent <Character>().ConsumeDurability(); this.GetComponent <InteractiveObj>().textContents[0] = ""; //for(int i = 0; i < formerKeys.Length; i++) // Showline(this.gameObject, formerKeys[i]); //if(targetDoor!=null) // Showline(targetDoor, this.gameObject); //return "Activated"; }
public bool IsKeyStatus(KeyStatus keyStatus, Keys keyCode) { if (inputStatus.ContainsKey(keyCode) == false) { return(false); } return(inputStatus[keyCode] == keyStatus); }
public bool RunConditionally(KeyStatus keyStatus) { if (_ctrl == keyStatus.Ctrl && _shift == keyStatus.Shift && _alt == keyStatus.Alt) { return _executeAction(); } return false; }
public override bool OnKey(Key key, KeyStatus status, Vector2 mousePos) { if (key == Key.MouseKeyLeft && status == KeyStatus.Down) { OnClickedProxy?.Invoke(this); } return(base.OnKey(key, status, mousePos)); }
public KeyInput(KeyCode RawKey, bool?Extended, int ScanCode, KeyStatus Status) : base(RawKey, Extended) { this.ScanCode = ScanCode; this.Status = Status; Initialize(CreateChildren()); }
public KeyCombination(KeyCode[] keys, KeyStatus status) { foreach (KeyCode key in this.combination) { this.combination.Add(key); } this.status = status; }
public bool RunConditionally(KeyStatus keyStatus) { if (_ctrl == keyStatus.Ctrl && _shift == keyStatus.Shift && _alt == keyStatus.Alt) { return(_executeAction()); } return(false); }
public override bool OnKeyMessage(FuntionShortCutSlotIndex index, KeyStatus status) { if (index == FuntionShortCutSlotIndex.OpenMailBox && status == KeyStatus.Down) { UpdateMailBox(); } return(true); }
/// <summary> /// Sets the status of the specified Spectrum keyboard key. /// </summary> /// <param name="keyStatus">Status of the key to set</param> public void SetStatus(KeyStatus keyStatus) { var lineIndex = (byte)keyStatus.KeyCode / 5; var lineMask = 1 << (byte)keyStatus.KeyCode % 5; _lineStatus[lineIndex] = keyStatus.IsDown ? (byte)(_lineStatus[lineIndex] | lineMask) : (byte)(_lineStatus[lineIndex] & ~lineMask); }
public void NotifyKeyStatus(VirtualKeyCode keyCode, KeyStatus status) { var bytes = new byte[2]; bytes[0] = (byte)status; bytes[1] = (byte)keyCode; GattServerCharacteristic.Value = bytes; NotifyAll(); }
private void UpdateKeyStatus(Keys keyCode, KeyStatus keyStatus) { if (inputStatus.ContainsKey(keyCode) == false) { inputStatus.Add(keyCode, keyStatus); return; } inputStatus[keyCode] = keyStatus; }
public ImportKey() { this.IsCommand("importkey", Localized.ImportKey); this.HasRequiredOption("l|location=", Localized.Location, v => { _location = v; }); this.HasRequiredOption("i|importlocation=", Localized.ImportLocation, v => { _importLocation = v; }); this.HasRequiredOption("s|status=", Localized.Status, v => { _status = v; }); this.HasOption("c|crypter=", Localized.Crypter, v => { _crypterLocation = v; }); this.HasOption("p|password", Localized.Password, v => { _password = true; }); this.SkipsCommandSummaryBeforeRunning(); }
public AddKey() { this.IsCommand("addkey", Localized.AddKey); this.HasRequiredOption("l|location=", Localized.Location, v => { _location = v; }); this.HasRequiredOption("s|status=", Localized.Status, v => { _status = v; }); this.HasOption <int>("b|size=", Localized.Size, v => { _size = v; }); this.HasOption("c|crypter=", Localized.Crypter, v => { _crypterLocation = v; }); this.HasOption("p|password", Localized.Password, v => { _password = true; }); this.HasOption("g|padding=", Localized.Padding, v => { _padding = v; }); this.SkipsCommandSummaryBeforeRunning(); }
private string GenerateMsg(KeyStatus status, KeyEventArgs args) { string msg = ""; switch (args.VirtualKey) { case Windows.System.VirtualKey.A: msg += "A"; break; case Windows.System.VirtualKey.S: msg += "S"; break; case Windows.System.VirtualKey.D: msg += "D"; break; case Windows.System.VirtualKey.W: msg += "W"; break; case Windows.System.VirtualKey.Q: msg += "Q"; break; case Windows.System.VirtualKey.E: msg += "E"; break; default: return(null); } switch (status) { case KeyStatus.pressed: msg += "P"; break; case KeyStatus.released: msg += "R"; break; } msg += PrepareValue(_gui.DriveSpeed); msg += PrepareValue(_gui.CurveInnerMotorSpeed); msg += PrepareValue(_gui.HorizontalTurnSpeed); msg += PrepareValue(_gui.VerticalTurnSpeed); Debug.WriteLine(msg); return(msg); }
/// <summary> /// 用於發送一個虛擬按鍵。 /// </summary> /// <param name="SendCode">傳送的按鍵代碼。</param> /// <param name="KeyStatus">傳送的按鍵動作。</param> /// <returns>傳回該函數是否呼叫成功。</returns> public bool SendKey(KeyCodes SendCode, KeyStatus KeyStatus) { try { keybd_event((byte)SendCode, 0, (int)KeyStatus, (IntPtr)0); return(true); } catch { return(false); } }
public override bool OnKey(Key key, KeyStatus status, Vector2 mousePos) { if (key > Key.MouseKeyStart && key < Key.MouseKeyEnd && _captureMouse) { return(false); } if (_captureKeyboard) { return(false); } return(false); }
public void SetButtonStatus(int index, KeyStatus key_Status) { var pointer = new PointerEventData(EventSystem.current); switch(key_Status) { case KeyStatus.Normal: ExecuteEvents.Execute(buttons[index].gameObject, pointer, ExecuteEvents.pointerUpHandler); break; case KeyStatus.Clicked: ExecuteEvents.Execute(buttons[index].gameObject, pointer, ExecuteEvents.pointerEnterHandler); ExecuteEvents.Execute(buttons[index].gameObject, pointer, ExecuteEvents.pointerDownHandler); ExecuteEvents.Execute(buttons[index].gameObject, pointer, ExecuteEvents.pointerUpHandler); break; case KeyStatus.Pressed: ExecuteEvents.Execute(buttons[index].gameObject, pointer, ExecuteEvents.pointerEnterHandler); ExecuteEvents.Execute(buttons[index].gameObject, pointer, ExecuteEvents.pointerDownHandler); break; } }
/// <summary> /// This method is used to add or update the key/value pairs with the specified key status. /// </summary> /// <param name="key">Specify the key.</param> /// <param name="value">Specify the value.</param> /// <param name="keyStatus">Specify the key status.</param> private void AddOrUpdate(string key, Action value, KeyStatus keyStatus) { switch (keyStatus) { case KeyStatus.CheckOut: if (this.fileCheckOutRollbackFunctions.Keys.Contains(key)) { this.fileCheckOutRollbackFunctions[key] = value; } else { this.fileCheckOutRollbackFunctions.Add(key, value); } break; case KeyStatus.ExclusiveLock: if (this.releaseExclusiveLockFunctions.Keys.Contains(key)) { // There is no way to record twice exclusive lock for just one file this.site.Assert.Fail("Fail to record the exclusive lock on the file {0} more than once.", key); } else { // If the file already lock by the shared lock, then remove the shared lock record. SharedLockKey findKey = this.releaseSharedLockFunctions.Keys.FirstOrDefault(k => k.FileUrl == key); if (findKey != null) { this.releaseSharedLockFunctions.Remove(findKey); } this.releaseExclusiveLockFunctions.Add(key, value); } break; case KeyStatus.UploadTextFile: if (this.removeFileFunctions.Keys.Contains(key)) { this.removeFileFunctions[key] = value; } else { this.removeFileFunctions.Add(key, value); } break; default: this.site.Assert.Fail("Unsupported operation."); break; } }
public void FromGetAsyncKeyStateStatus(GetAsyncKeyStateStatus ev) { KeyStat = ev == GetAsyncKeyStateStatus.KeyDown ? KeyStatus.Down : ev == GetAsyncKeyStateStatus.KeyPressed ? KeyStatus.Press : KeyStatus.None; }
public void FromHookKeyStatusInternal(HookKeyStatusInternal ev) { KeyStat = ev == HookKeyStatusInternal.WM_KEYDOWN ? KeyStatus.Down : ev == HookKeyStatusInternal.WM_KEYUP ? KeyStatus.Up : KeyStatus.None; }
public void FromSendKeyEventInternal(SendKeyEventInternal ev) { KeyStat = ev == SendKeyEventInternal.Down ? KeyStatus.Down : ev == SendKeyEventInternal.Up ? KeyStatus.Up : KeyStatus.None; }
public MyKeyboardEvent(KeyStatus KeyStat) { this.KeyStat = KeyStat; }