xkbcommon-names.h RawHistoryFolder
1/*
2 * Copyright © 2012 Intel Corporation
3 * SPDX-License-Identifier: MIT
4 *
5 * Author: Daniel Stone <daniel@fooishbar.org>
6 */
7
8#ifndef _XKBCOMMON_NAMES_H
9#define _XKBCOMMON_NAMES_H
10
11/**
12 * @file
13 * @brief Predefined names for common modifiers and LEDs.
14 */
15
16/**
17 * @defgroup modifier-names Predefined names for common modifiers and LEDs
18 *
19 * @{
20 */
21
22/**
23 * @defgroup real-modifier-names Real modifiers names
24 *
25 * [*Real* modifiers][real modifier] names are hardcoded in libxkbcommon.
26 *
27 * [real modifier]: @ref real-modifier-def
28 *
29 * @{
30 */
31#define XKB_MOD_NAME_SHIFT "Shift"
32#define XKB_MOD_NAME_CAPS "Lock"
33#define XKB_MOD_NAME_CTRL "Control"
34#define XKB_MOD_NAME_MOD1 "Mod1"
35#define XKB_MOD_NAME_MOD2 "Mod2"
36#define XKB_MOD_NAME_MOD3 "Mod3"
37#define XKB_MOD_NAME_MOD4 "Mod4"
38#define XKB_MOD_NAME_MOD5 "Mod5"
39/** @} */
40
41/**
42 * @defgroup virtual-modifier-names Virtual modifiers names
43 *
44 * Common [*virtual* modifiers][virtual modifiers], encoded in [xkeyboard-config]
45 * in the [compat] and [symbols] files. They have been stable since the beginning
46 * of the project and are unlikely to ever change.
47 *
48 * [virtual modifiers]: @ref virtual-modifier-def
49 * [xkeyboard-config]: https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config
50 * [compat]: @ref the-xkb_compat-section
51 * [symbols]: @ref the-xkb_symbols-section
52 *
53 * @{
54 */
55/** @since 1.8.0 */
56#define XKB_VMOD_NAME_ALT "Alt"
57/** @since 1.8.0 */
58#define XKB_VMOD_NAME_HYPER "Hyper"
59/** @since 1.8.0 */
60#define XKB_VMOD_NAME_LEVEL3 "LevelThree"
61/** @since 1.8.0 */
62#define XKB_VMOD_NAME_LEVEL5 "LevelFive"
63/** @since 1.8.0 */
64#define XKB_VMOD_NAME_META "Meta"
65/** @since 1.8.0 */
66#define XKB_VMOD_NAME_NUM "NumLock"
67/** @since 1.8.0 */
68#define XKB_VMOD_NAME_SCROLL "ScrollLock"
69/** @since 1.8.0 */
70#define XKB_VMOD_NAME_SUPER "Super"
71/** @} */
72
73/**
74 * @defgroup legacy-virtual-modifier-names Legacy virtual modifier names
75 *
76 * Usual [*virtual* modifiers][virtual modifiers] mappings to
77 * [*real* modifiers][real modifiers].
78 *
79 * @deprecated Use @ref virtual-modifier-names instead
80 *
81 * [virtual modifiers]: @ref virtual-modifier-def
82 * [real modifiers]: @ref real-modifier-def
83 *
84 * @{
85 */
86/**
87 * Usual [*real* modifier][real modifier] for the
88 * [*virtual* modifier][virtual modifier] `Alt`.
89 *
90 * @deprecated Use `::XKB_VMOD_NAME_ALT` instead.
91 * @since 1.10: deprecated
92 *
93 * [virtual modifier]: @ref virtual-modifier-def
94 * [real modifier]: @ref real-modifier-def
95 */
96#define XKB_MOD_NAME_ALT "Mod1"
97/**
98 * Usual [*real* modifier][real modifier] for the
99 * [*virtual* modifier][virtual modifier] `Super`.
100 *
101 * @deprecated Use `::XKB_VMOD_NAME_SUPER` instead.
102 * @since 1.10: deprecated
103 *
104 * [virtual modifier]: @ref virtual-modifier-def
105 * [real modifier]: @ref real-modifier-def
106 */
107#define XKB_MOD_NAME_LOGO "Mod4"
108/**
109 * Usual [*real* modifier][real modifier] for the
110 * [*virtual* modifier][virtual modifier] `NumLock`.
111 *
112 * @deprecated Use `::XKB_VMOD_NAME_NUM` instead.
113 * @since 1.10: deprecated
114 *
115 * [virtual modifier]: @ref virtual-modifier-def
116 * [real modifier]: @ref real-modifier-def
117 */
118#define XKB_MOD_NAME_NUM "Mod2"
119/** @} */
120
121/**
122 * @defgroup led-names LEDs names
123 *
124 * LEDs names are encoded in [xkeyboard-config], in the [keycodes] and [compat]
125 * files. They have been stable since the beginning of the project and are
126 * unlikely to ever change.
127 *
128 * [xkeyboard-config]: https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config
129 * [keycodes]: @ref the-xkb_keycodes-section
130 * [compat]: @ref the-xkb_compat-section
131 *
132 * @{
133 */
134#define XKB_LED_NAME_NUM "Num Lock"
135#define XKB_LED_NAME_CAPS "Caps Lock"
136#define XKB_LED_NAME_SCROLL "Scroll Lock"
137/** @since 1.8.0 */
138#define XKB_LED_NAME_COMPOSE "Compose"
139#define XKB_LED_NAME_KANA "Kana"
140/** @} */
141
142/** @} */
143
144#endif