diff options
-rw-r--r-- | system/peripherals.xml | 1 | ||||
-rw-r--r-- | xbmc/peripherals/devices/PeripheralNyxboard.cpp | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/system/peripherals.xml b/system/peripherals.xml index 488dd02ddc..9589295c87 100644 --- a/system/peripherals.xml +++ b/system/peripherals.xml @@ -6,6 +6,7 @@ <setting key="flip_keyboard" value="XBMC.VideoLibrary.Search" label="36002" order="3" /> <setting key="flip_remote" value="Dialog.Close(virtualkeyboard)" label="36003" order="4" /> <setting key="key_user" value="" label="36004" order="5" /> + <setting key="key_power" value="XBMC.ShutDown()" label="13015" order="6" /> </peripheral> <peripheral vendor_product="2548:1001" bus="usb" name="Pulse-Eight CEC Adapter" mapTo="cec"> diff --git a/xbmc/peripherals/devices/PeripheralNyxboard.cpp b/xbmc/peripherals/devices/PeripheralNyxboard.cpp index 71fcfa6367..53acd2d534 100644 --- a/xbmc/peripherals/devices/PeripheralNyxboard.cpp +++ b/xbmc/peripherals/devices/PeripheralNyxboard.cpp @@ -28,6 +28,8 @@ using namespace PERIPHERALS; using namespace std; +#define NYBOARD_POWER_BUTTON_KEYSYM 0x9f + CPeripheralNyxboard::CPeripheralNyxboard(const PeripheralType type, const PeripheralBusType busType, const CStdString &strLocation, const CStdString &strDeviceName, int iVendorId, int iProductId) : CPeripheralHID(type, busType, strLocation, strDeviceName, iVendorId, iProductId) { @@ -55,6 +57,12 @@ bool CPeripheralNyxboard::LookupSymAndUnicode(XBMC_keysym &keysym, uint8_t *key, CLog::Log(LOGDEBUG, "%s - 'user' key pressed", __FUNCTION__); strCommand = GetSettingString("key_user"); } + else if (keysym.sym == NYBOARD_POWER_BUTTON_KEYSYM && keysym.mod == XBMCKMOD_NONE) + { + /* 'power' key pressed */ + CLog::Log(LOGDEBUG, "%s - 'power' key pressed", __FUNCTION__); + strCommand = GetSettingString("key_power"); + } if (!strCommand.IsEmpty()) { |