mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-05 14:31:24 +12:00
Pad Refactoring
Adds a window to setup multiple input types as once All controllers are now handled by a single thread [hcorion] evdev refactor
This commit is contained in:
parent
a6ba7ed21c
commit
0457f23b13
28 changed files with 1776 additions and 1416 deletions
|
@ -56,16 +56,25 @@ struct keyboard_pad_config final : cfg::node
|
|||
class keyboard_pad_handler final : public QObject, public PadHandlerBase
|
||||
{
|
||||
public:
|
||||
virtual void Init(const u32 max_connect) override;
|
||||
bool Init() override;
|
||||
|
||||
keyboard_pad_handler();
|
||||
|
||||
void SetTargetWindow(QWindow* target);
|
||||
void keyPressEvent(QKeyEvent* event);
|
||||
void keyReleaseEvent(QKeyEvent* event);
|
||||
void LoadSettings();
|
||||
|
||||
bool eventFilter(QObject* obj, QEvent* ev) override;
|
||||
|
||||
std::vector<std::string> ListDevices() override;
|
||||
bool bindPadToDevice(std::shared_ptr<Pad> pad, const std::string& device) override;
|
||||
void ThreadProc() override;
|
||||
void ConfigController(std::string device) override;
|
||||
|
||||
protected:
|
||||
void Key(const u32 code, bool pressed, u16 value = 255);
|
||||
|
||||
private:
|
||||
QWindow* m_target = nullptr;
|
||||
std::vector<std::shared_ptr<Pad>> bindings;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue