summaryrefslogtreecommitdiff
path: root/src/devices/Keyboard.hpp
blob: 2ba4626d088b391b4cf46fc2251efb90f934491c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#pragma once

#include "IKeyboard.hpp"

class CKeyboard : public IKeyboard {
  public:
    static SP<CKeyboard>              create(SP<Aquamarine::IKeyboard> keeb);

    virtual bool                      isVirtual();
    virtual SP<Aquamarine::IKeyboard> aq();

  private:
    CKeyboard(SP<Aquamarine::IKeyboard> keeb);

    WP<Aquamarine::IKeyboard> m_keyboard;

    struct {
        CHyprSignalListener destroy;
        CHyprSignalListener key;
        CHyprSignalListener modifiers;
    } m_listeners;
};