VirtualKey ReadVirtualKey(ContentReader input) { uint vk = input.ReadUInt32(); uint sc = input.ReadUInt32(); VirtualKeyFlags flags = (VirtualKeyFlags)input.ReadUInt32(); VirtualKeyValue[] shiftStates = new VirtualKeyValue[((int)ShiftState.ShftSpcl + 1) * 2]; for (int i = 0; i < shiftStates.Length; i++) { bool hasValue = input.ReadBoolean(); if (hasValue == true) { shiftStates[i] = ReadVirtualKeyValue(input); } } return(new VirtualKey(flags, vk, sc, shiftStates)); }
internal VirtualKeyValue(uint scanCode, VirtualKeyValue value) : this(scanCode, value.Characters, value.IsDeadKey) { }