private void ProcessNewStates(byte[] newStates) { for (int i = 0; i < numOfKeys; i++) { if (keyStates[i] != newStates[i]) { KeyStateChanged?.Invoke(this, new KeyEventArgs(i, newStates[i] != 0)); keyStates[i] = newStates[i]; } } }
public void ProcessKeys() { var newStates = deckHid.ReadReport(); for (int i = 0; i < keyStates.Length; i++) { if (keyStates[i] != newStates[i]) { var externalKeyId = hardwareInformation.HardwareKeyIdToExtKeyId(i); KeyStateChanged?.Invoke(this, new KeyEventArgs(externalKeyId, newStates[i] != 0)); keyStates[i] = newStates[i]; } } }
private void ProcessKeys(byte[] newStates) { for (var i = 0; i < keyStates.Length; i++) { var newStatePos = i + HardwareInfo.KeyReportOffset; if (keyStates[i] != newStates[newStatePos]) { var externalKeyId = HardwareInfo.HardwareKeyIdToExtKeyId(i); KeyStateChanged?.Invoke(this, new KeyEventArgs(externalKeyId, newStates[newStatePos] != 0)); keyStates[i] = newStates[newStatePos]; } } }
/// <summary> /// Virtual KeyStateChanged event handler. /// </summary> /// <param name="sender">The sender of the original event.</param> /// <param name="e">The event arguments.</param> protected virtual void OnKeyStateChanged(object sender, KeyEventArgs e) { KeyStateChanged?.Invoke(this, e); }