summaryrefslogtreecommitdiff
path: root/quantum/unicode/unicodemap.h
blob: 00d2aec8fad7988063d264673bda5815cabfd854 (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
33
34
35
36
37
38
39
40
41
42
43
// Copyright 2023 QMK
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#include <stdint.h>
#include "progmem.h"

/**
 * \file
 *
 * \defgroup unicodemap Unicode Map
 * \{
 */

extern const uint32_t unicode_map[] PROGMEM;

/**
 * \brief Get the index into the `unicode_map` array for the given keycode, respecting shift state for pair keycodes.
 *
 * \param keycode The Unicode Map keycode to get the index of.
 *
 * \return An index into the `unicode_map` array.
 */
uint8_t unicodemap_index(uint16_t keycode);

/**
 * \brief Get the code point for the given index in the `unicode_map` array.
 *
 * \param index The index into the `unicode_map` array.
 *
 * \return A Unicode code point value.
 */
uint32_t unicodemap_get_code_point(uint8_t index);

/**
 * \brief Send the code point for the given index in the `unicode_map` array.
 *
 * \param index The index into the `unicode_map` array.
 */
void register_unicodemap(uint8_t index);

/** \} */