diff options
-rw-r--r-- | system/keymaps/joystick.xml | 25 | ||||
-rw-r--r-- | xbmc/input/keymaps/KeymapTypes.h | 2 |
2 files changed, 21 insertions, 6 deletions
diff --git a/system/keymaps/joystick.xml b/system/keymaps/joystick.xml index 2db760b4c0..8097e32c4d 100644 --- a/system/keymaps/joystick.xml +++ b/system/keymaps/joystick.xml @@ -28,14 +28,29 @@ <!-- <a holdtime="500">ContextMenu</a> --> <!-- </joystick> --> <!-- --> -<!-- Buttons can be also require hotkeys to be pressed: --> +<!-- Buttons can be overloaded with hotkeys: --> <!-- <joystick profile="game.controller.default"> --> -<!-- <start hotkey="back">Stop</start> --> +<!-- <a>Select</a> --> +<!-- <a hotkey="back">ContextMenu</a> --> +<!-- </joystick> --> +<!-- --> +<!-- It is even possible to combine both hotkeys and hold durations: --> +<!-- <joystick profile="game.controller.default"> --> +<!-- <a>Select</a> --> +<!-- <a hotkey="back">ContextMenu</a> --> +<!-- <a hotkey="back" holdtime="500">Stop</a> --> +<!-- </joystick> --> +<!-- --> +<!-- Both hold duration and hotkeys can be the only stand alone variant of --> +<!-- an action: --> +<!-- <joystick profile="game.controller.default"> --> +<!-- <a hotkey="back">ContextMenu</a> --> +<!-- <b holdtime="500">Stop</b> --> <!-- </joystick> --> <!-- --> -<!-- Due to limitations in the button mapper, buttons can be overloaded with --> -<!-- different hold durations, but not different hotkeys for the same --> -<!-- duration. --> +<!-- A limitation is that if a single press is mapped in a section, a --> +<!-- global "holdtime" overload will be ignored. The workaround is to --> +<!-- duplicate the holdtime overload in the section. --> <!-- --> <!-- More documentation on keymaps can be found on --> <!-- http://kodi.wiki/view/keymaps --> diff --git a/xbmc/input/keymaps/KeymapTypes.h b/xbmc/input/keymaps/KeymapTypes.h index 501766cf18..c2d18609e8 100644 --- a/xbmc/input/keymaps/KeymapTypes.h +++ b/xbmc/input/keymaps/KeymapTypes.h @@ -38,7 +38,7 @@ struct KeymapAction struct KeymapActionGroup { int windowId = -1; - std::set<KeymapAction> actions; + std::multiset<KeymapAction> actions; }; } // namespace KEYMAP } // namespace KODI |