Ejemplo n.º 1
0
        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];
                }
            }
        }
Ejemplo n.º 2
0
        private void ProcessKeys(byte[] newStates)
        {
            for (int i = 0; i < keyStates.Length; i++)
            {
                var newStatePos = i + hwInfo.KeyReportOffset;

                if (keyStates[i] != newStates[newStatePos])
                {
                    var externalKeyId = hwInfo.HardwareKeyIdToExtKeyId(i);
                    KeyStateChanged?.Invoke(this, new KeyEventArgs(externalKeyId, newStates[newStatePos] != 0));
                    keyStates[i] = newStates[newStatePos];
                }
            }
        }