summaryrefslogtreecommitdiffstats
path: root/game/client/keybind.hh
blob: d8e27a7af1e784eaf893e64e42c2db90553315dd (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
#ifndef CLIENT_KEYBIND_HH
#define CLIENT_KEYBIND_HH 1
#pragma once

#include "core/config.hh"

class ConfigKeyBind final : public IConfigValue {
public:
    explicit ConfigKeyBind(void);
    explicit ConfigKeyBind(int default_value);
    virtual ~ConfigKeyBind(void) = default;

    virtual void set(const char *value) override;
    virtual const char *get(void) const override;

    void set_key(int keycode);
    int get_key(void) const;

    bool equals(int keycode) const;

private:
    const char *m_name;
    int m_glfw_keycode;
};

#endif /* CLIENT_KEYBIND_HH */