void EPlaybackWing::applyExtraButtons(const QByteArray& data) { /* Check that there's enough data for flags */ if (data.size() < EWING_PLAYBACK_BYTE_EXTRA_BUTTONS + 1) return; if (!(data[EWING_PLAYBACK_BYTE_EXTRA_BUTTONS] & EWING_PLAYBACK_BIT_PAGEUP)) { nextPage(); sendPageData(); } else if (!(data[EWING_PLAYBACK_BYTE_EXTRA_BUTTONS] & EWING_PLAYBACK_BIT_PAGEDOWN)) { previousPage(); sendPageData(); } else if (!(data[EWING_PLAYBACK_BYTE_EXTRA_BUTTONS] & EWING_PLAYBACK_BIT_BACK)) { /** @todo */ } else if (!(data[EWING_PLAYBACK_BYTE_EXTRA_BUTTONS] & EWING_PLAYBACK_BIT_GO)) { /** @todo */ } }
EPlaybackWing::EPlaybackWing(QObject* parent, const QHostAddress& address, const QByteArray& data) : EWing(parent, address, data) { m_values = QByteArray(EWING_PLAYBACK_CHANNEL_COUNT, 0); /* Playback wing keys seem to be in a somewhat weird order */ m_channelMap[0] = 7 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[1] = 6 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[2] = 5 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[3] = 4 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[4] = 3 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[5] = 2 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[6] = 1 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[7] = 0 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[8] = 15 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[9] = 14 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[10] = 13 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[11] = 12 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[12] = 11 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[13] = 10 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[14] = 9 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[15] = 8 + EWING_PLAYBACK_SLIDER_SIZE; /* Weird order here */ m_channelMap[16] = 28 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[17] = 27 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[18] = 21 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[19] = 20 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[20] = 19 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[21] = 18 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[22] = 17 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[23] = 16 + EWING_PLAYBACK_SLIDER_SIZE; /* Weird order also here */ m_channelMap[24] = 31 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[25] = 30 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[26] = 26 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[27] = 25 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[28] = 24 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[29] = 23 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[30] = 22 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[31] = 29 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[32] = 39 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[33] = 38 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[34] = 37 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[35] = 36 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[36] = 35 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[37] = 34 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[38] = 33 + EWING_PLAYBACK_SLIDER_SIZE; m_channelMap[39] = 32 + EWING_PLAYBACK_SLIDER_SIZE; /* Take initial values from the first received datagram packet. The plugin hasn't yet connected to valueChanged() signal, so this won't cause any input events. */ parseData(data); sendPageData(); }
void ShortcutWing::applyPageButtons(const QByteArray& data) { /* Check that there's enough data for flags */ if (data.size() < WING_BYTE_FLAGS + 1) return; if ((data[WING_BYTE_FLAGS] & WING_SHORTCUT_PAGE_UP) == 0) { nextPage(); sendPageData(); } else if ((data[WING_BYTE_FLAGS] & WING_SHORTCUT_PAGE_DOWN) == 0) { previousPage(); sendPageData(); } }
ShortcutWing::ShortcutWing(QObject* parent, const QHostAddress& address, const QByteArray& data) : Wing(parent, address, data) { m_values = QByteArray(WING_SHORTCUT_CHANNEL_COUNT, 0); /* Take initial values from the first received datagram packet. The plugin hasn't yet connected to valueChanged() signal, so this won't cause any input events. */ parseData(data); sendPageData(); }