blob: d0872a6bd1dfde3989ea65ce8657519aab382b40 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#pragma once
#include "nes/util/button-mask.hh"
namespace nes
{
class controller
{
button_mask pressed_;
public:
explicit controller() = default;
controller(controller const&) = delete;
controller(controller&&) = delete;
auto operator=(controller const&) -> controller& = delete;
auto operator=(controller&&) -> controller& = delete;
auto get_pressed() const -> button_mask { return pressed_;}
auto get_pressed() -> button_mask& { return pressed_; }
auto set_pressed(button_mask const value) -> void { pressed_ = value; }
// IO register
auto read() -> std::uint8_t;
auto write(std::uint8_t) -> void;
};
} // namespace nes
|