summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibKeyboard/CharacterMap.h
blob: 48a971a836a7f02f053945f955ab3e2127eecac8 (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
29
30
31
32
/*
 * Copyright (c) 2020, Hüseyin Aslıtürk <asliturk@hotmail.com>
 *
 * SPDX-License-Identifier: BSD-2-Clause
 */

#pragma once

#include <AK/DeprecatedString.h>
#include <AK/Error.h>
#include <LibKeyboard/CharacterMapData.h>

namespace Keyboard {

class CharacterMap {

public:
    CharacterMap(DeprecatedString const& map_name, CharacterMapData const& map_data);
    static ErrorOr<CharacterMap> load_from_file(DeprecatedString const& filename);

    int set_system_map();
    static ErrorOr<CharacterMap> fetch_system_map();

    CharacterMapData const& character_map_data() const { return m_character_map_data; };
    DeprecatedString const& character_map_name() const;

private:
    CharacterMapData m_character_map_data;
    DeprecatedString m_character_map_name;
};

}