/// <summary>
        /// Parse TS_KEYBOARD_EVENT
        /// (parser index is updated according to parsed length)
        /// </summary>
        /// <param name="data">data to be parsed</param>
        /// <param name="currentIndex">current parser index</param>
        /// <returns>TS_KEYBOARD_EVENT</returns>
        private TS_KEYBOARD_EVENT ParseKeyboardEvent(byte[] data, ref int currentIndex)
        {
            TS_KEYBOARD_EVENT eventData = new TS_KEYBOARD_EVENT();
            eventData.keyboardFlags = (keyboardFlags_Values)ParseUInt16(data, ref currentIndex, false);
            eventData.keyCode = ParseUInt16(data, ref currentIndex, false);
            eventData.pad2Octets = ParseUInt16(data, ref currentIndex, false);

            return eventData;
        }