Skip to content

Commit

Permalink
[cec] Add settings for configuring button repeats
Browse files Browse the repository at this point in the history
  • Loading branch information
popcornmix committed Nov 3, 2014
1 parent 0610199 commit 3131218
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 1 deletion.
15 changes: 15 additions & 0 deletions language/English/strings.po
Expand Up @@ -16176,3 +16176,18 @@ msgstr ""
msgctxt "#38014"
msgid "%i ms"
msgstr ""

#: system/peripherals.xml
msgctxt "#38050"
msgid "Remote button press delay before repeating (ms)"
msgstr ""

#: system/peripherals.xml
msgctxt "#38051"
msgid "Remote button press repeat rate (ms)"
msgstr ""

#: system/peripherals.xml
msgctxt "#38052"
msgid "Remote button press release time (ms)"
msgstr ""
4 changes: 3 additions & 1 deletion system/peripherals.xml
Expand Up @@ -30,7 +30,9 @@
<setting key="device_type" type="int" value="1" configurable="0" />
<setting key="wake_devices_advanced" type="string" value="" configurable="0" />
<setting key="standby_devices_advanced" type="string" value="" configurable="0" />
<setting key="double_tap_timeout_ms" type="int" min="0" value="300" configurable="0" />
<setting key="double_tap_timeout_ms" type="int" min="50" max="500" step="50" value="300" label="38050" order="16" />
<setting key="button_repeat_rate_ms" type="int" min="0" max="250" step="10" value="0" label="38051" order="17" />
<setting key="button_release_delay_ms" type="int" min="0" max="500" step="50" value="0" label="38052" order="18" />
</peripheral>

<peripheral vendor_product="2548:1001,2548:1002" bus="usb" name="Pulse-Eight CEC Adapter" mapTo="cec">
Expand Down
16 changes: 16 additions & 0 deletions xbmc/peripherals/devices/PeripheralCecAdapter.cpp
Expand Up @@ -1287,6 +1287,20 @@ void CPeripheralCecAdapter::SetConfigurationFromLibCEC(const CEC::libcec_configu
m_configuration.bSendInactiveSource = config.bSendInactiveSource;
bChanged |= SetSetting("send_inactive_source", m_configuration.bSendInactiveSource == 1);

#if defined(CEC_DOUBLE_TAP_TIMEOUT_MS_OLD)
m_configuration.iDoubleTapTimeout50Ms = config.iDoubleTapTimeout50Ms;
bChanged |= SetSetting("double_tap_timeout_ms", (int)m_configuration.iDoubleTapTimeout50Ms * 50);
#else
m_configuration.iDoubleTapTimeoutMs = config.iDoubleTapTimeoutMs;
bChanged |= SetSetting("double_tap_timeout_ms", (int)m_configuration.iDoubleTapTimeoutMs;
#endif

m_configuration.iButtonRepeatRateMs = config.iButtonRepeatRateMs;
bChanged |= SetSetting("button_repeat_rate_ms", (int)m_configuration.iButtonRepeatRateMs);

m_configuration.iButtonReleaseDelayMs = config.iButtonReleaseDelayMs;
bChanged |= SetSetting("button_release_delay_ms", (int)m_configuration.iButtonReleaseDelayMs);

m_configuration.iFirmwareVersion = config.iFirmwareVersion;
m_configuration.bShutdownOnStandby = config.bShutdownOnStandby;

Expand Down Expand Up @@ -1391,6 +1405,8 @@ void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
// backwards compatibility. will be removed once the next major release of libCEC is out
m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms");
#endif
m_configuration.iButtonRepeatRateMs = GetSettingInt("button_repeat_rate_ms");
m_configuration.iButtonReleaseDelayMs = GetSettingInt("button_release_delay_ms");
}

void CPeripheralCecAdapter::ReadLogicalAddresses(const CStdString &strString, cec_logical_addresses &addresses)
Expand Down

0 comments on commit 3131218

Please sign in to comment.