input-mapper.hpp 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. struct InputMapper : PanelItem {
  2. InputMapper(View*);
  3. auto show() -> void override;
  4. auto hide() -> void override;
  5. auto refresh(higan::Node::Object) -> void;
  6. auto update() -> void;
  7. auto eventAssignMouse(uint groupID, uint inputID) -> void;
  8. auto eventAssign() -> void;
  9. auto eventAssignNext() -> void;
  10. auto eventClear() -> void;
  11. auto eventChange() -> void;
  12. auto eventInput(shared_pointer<HID::Device>, uint group, uint input, int16_t oldValue, int16_t newValue, bool allowMouseInput = false) -> void;
  13. Label nameLabel{this, Size{~0, 0}};
  14. TableView inputList{this, Size{~0, ~0}};
  15. HorizontalLayout controlLayout{this, Size{~0, 0}};
  16. Button mouseXaxis{&controlLayout, Size{100_sx, 0}};
  17. Button mouseYaxis{&controlLayout, Size{100_sx, 0}};
  18. Button mouseLeft{&controlLayout, Size{100_sx, 0}};
  19. Button mouseMiddle{&controlLayout, Size{100_sx, 0}};
  20. Button mouseRight{&controlLayout, Size{100_sx, 0}};
  21. Widget spacer{&controlLayout, Size{~0, 0}, 0};
  22. Button assignButton{&controlLayout, Size{80_sx, 0}};
  23. Button clearButton{&controlLayout, Size{80_sx, 0}};
  24. higan::Node::Object node;
  25. higan::Node::Input assigning;
  26. vector<TableViewItem> assigningQueue;
  27. };