summaryrefslogtreecommitdiff
path: root/lib/nes/app/input/input-manager.hh
diff options
context:
space:
mode:
Diffstat (limited to 'lib/nes/app/input/input-manager.hh')
-rw-r--r--lib/nes/app/input/input-manager.hh5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/nes/app/input/input-manager.hh b/lib/nes/app/input/input-manager.hh
index b0b60e8..7a63326 100644
--- a/lib/nes/app/input/input-manager.hh
+++ b/lib/nes/app/input/input-manager.hh
@@ -16,6 +16,7 @@ namespace nes::app
static constexpr auto input_count = u32{ 2 };
input_device_keyboard* keyboard_;
+ input_device_controller::index keyboard_index_{ input_device_controller::index::unused };
list<input_device_controller> controllers_;
struct
{
@@ -34,6 +35,9 @@ namespace nes::app
auto get_input_1() const -> input_device& { return *inputs_[0].device; }
auto get_input_2() const -> input_device& { return *inputs_[1].device; }
+ auto toggle_input_1() -> void { toggle_input(0); }
+ auto toggle_input_2() -> void { toggle_input(1); }
+
auto get_keyboard() const -> input_device_keyboard& { return *keyboard_; }
auto get_controllers() const -> list<input_device_controller> const& { return controllers_; }
@@ -41,6 +45,7 @@ namespace nes::app
auto remove_controller(input_device_controller&) -> void;
private:
+ auto toggle_input(u32) -> void;
auto fill_unassigned_inputs() -> void;
};
} // namespace nes::app \ No newline at end of file