From: Lars Op den Kamp Date: Mon, 8 Oct 2012 13:54:28 +0000 (+0200) Subject: added iDoubleTapTimeoutMs to libcec_configuration X-Git-Tag: upstream/2.2.0~1^2~17^2^2~4 X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=f4b4442502dd84b2e76a7c4f3772e6c52385dc02;p=deb_libcec.git added iDoubleTapTimeoutMs to libcec_configuration --- diff --git a/include/cectypes.h b/include/cectypes.h index 526a5d8..58b6ef4 100644 --- a/include/cectypes.h +++ b/include/cectypes.h @@ -1421,6 +1421,7 @@ struct libcec_configuration uint8_t bMonitorOnly; /*!< won't allocate a CCECClient when starting the connection when set (same as monitor mode). added in 1.6.3 */ cec_version cecVersion; /*!< CEC spec version to use by libCEC. defaults to v1.4. added in 1.8.0 */ cec_adapter_type adapterType; /*!< type of the CEC adapter that we're connected to. added in 1.8.2 */ + uint8_t iDoubleTapTimeoutMs; /*!< prevent double taps withing this timeout. defaults to 200ms. added in 2.0.0 */ #ifdef __cplusplus libcec_configuration(void) { Clear(); } @@ -1453,7 +1454,8 @@ struct libcec_configuration iFirmwareBuildDate == other.iFirmwareBuildDate && bMonitorOnly == other.bMonitorOnly && cecVersion == other.cecVersion && - adapterType == other.adapterType); + adapterType == other.adapterType && + iDoubleTapTimeoutMs == other.iDoubleTapTimeoutMs); } bool operator!=(const libcec_configuration &other) const @@ -1487,6 +1489,7 @@ struct libcec_configuration bMonitorOnly = 0; cecVersion = (cec_version)CEC_DEFAULT_SETTING_CEC_VERSION; adapterType = ADAPTERTYPE_UNKNOWN; + iDoubleTapTimeoutMs = CEC_DOUBLE_TAP_TIMEOUT_MS; memset(strDeviceName, 0, 13); deviceTypes.Clear(); diff --git a/src/lib/CECClient.cpp b/src/lib/CECClient.cpp index 6be95b7..d6f8100 100644 --- a/src/lib/CECClient.cpp +++ b/src/lib/CECClient.cpp @@ -1377,7 +1377,7 @@ void CCECClient::CallbackAddKey(const cec_keypress &key) int64_t now = GetTimeMs(); if (m_lastKeypress.keycode != key.keycode || key.duration > 0 || - now - m_iLastKeypressTime >= CEC_DOUBLE_TAP_TIMEOUT_MS) + now - m_iLastKeypressTime >= m_configuration.iDoubleTapTimeoutMs) { // no double tap if (key.duration == 0)