43 lines
		
	
	
	
		
			958 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
	
		
			958 B
		
	
	
	
		
			C
		
	
	
	
	
	
| // 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);
 | |
| 
 | |
| /** \} */
 | 
