Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
gdkkeys.h
Go to the documentation of this file.
1/*
2 This file is part of the Ansel project.
3 Copyright (C) 2025 Aurélien PIERRE.
4
5 Ansel is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 Ansel is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with Ansel. If not, see <http://www.gnu.org/licenses/>.
17*/
18#include <gdk/gdkkeysyms.h>
19#include <glib.h>
20
21
29static inline guint dt_keys_numpad_alternatives(const guint key_val)
30{
31 guint alt_char = key_val;
32 switch(key_val)
33 {
34 case GDK_KEY_0:
35 alt_char = GDK_KEY_KP_0;
36 break;
37 case GDK_KEY_1:
38 alt_char = GDK_KEY_KP_1;
39 break;
40 case GDK_KEY_2:
41 alt_char = GDK_KEY_KP_2;
42 break;
43 case GDK_KEY_3:
44 alt_char = GDK_KEY_KP_3;
45 break;
46 case GDK_KEY_4:
47 alt_char = GDK_KEY_KP_4;
48 break;
49 case GDK_KEY_5:
50 alt_char = GDK_KEY_KP_5;
51 break;
52 case GDK_KEY_6:
53 alt_char = GDK_KEY_KP_6;
54 break;
55 case GDK_KEY_7:
56 alt_char = GDK_KEY_KP_7;
57 break;
58 case GDK_KEY_8:
59 alt_char = GDK_KEY_KP_8;
60 break;
61 case GDK_KEY_9:
62 alt_char = GDK_KEY_KP_9;
63 break;
64 case GDK_KEY_Left:
65 alt_char = GDK_KEY_KP_Left;
66 break;
67 case GDK_KEY_Right:
68 alt_char = GDK_KEY_KP_Right;
69 break;
70 case GDK_KEY_Up:
71 alt_char = GDK_KEY_KP_Up;
72 break;
73 case GDK_KEY_Down:
74 alt_char = GDK_KEY_KP_Down;
75 break;
76 case GDK_KEY_Home:
77 alt_char = GDK_KEY_KP_Home;
78 break;
79 case GDK_KEY_End:
80 alt_char = GDK_KEY_KP_End;
81 break;
82 case GDK_KEY_Insert:
83 alt_char = GDK_KEY_KP_Insert;
84 break;
85 case GDK_KEY_Return:
86 alt_char = GDK_KEY_KP_Enter;
87 break;
88 case GDK_KEY_Page_Up:
89 alt_char = GDK_KEY_KP_Page_Up;
90 break;
91 case GDK_KEY_Page_Down:
92 alt_char = GDK_KEY_KP_Page_Down;
93 break;
94 case GDK_KEY_plus:
95 alt_char = GDK_KEY_KP_Add;
96 break;
97 case GDK_KEY_minus:
98 alt_char = GDK_KEY_KP_Subtract;
99 break;
100 default:
101 break;
102 }
103
104 return alt_char;
105}
106
113static inline guint dt_keys_mainpad_alternatives(const guint key_val)
114{
115 guint alt_char = key_val;
116 switch(key_val)
117 {
118 case GDK_KEY_KP_0:
119 alt_char = GDK_KEY_0;
120 break;
121 case GDK_KEY_KP_1:
122 alt_char = GDK_KEY_1;
123 break;
124 case GDK_KEY_KP_2:
125 alt_char = GDK_KEY_2;
126 break;
127 case GDK_KEY_KP_3:
128 alt_char = GDK_KEY_3;
129 break;
130 case GDK_KEY_KP_4:
131 alt_char = GDK_KEY_4;
132 break;
133 case GDK_KEY_KP_5:
134 alt_char = GDK_KEY_5;
135 break;
136 case GDK_KEY_KP_6:
137 alt_char = GDK_KEY_6;
138 break;
139 case GDK_KEY_KP_7:
140 alt_char = GDK_KEY_7;
141 break;
142 case GDK_KEY_KP_8:
143 alt_char = GDK_KEY_8;
144 break;
145 case GDK_KEY_KP_9:
146 alt_char = GDK_KEY_9;
147 break;
148 case GDK_KEY_KP_Left:
149 alt_char = GDK_KEY_Left;
150 break;
151 case GDK_KEY_KP_Right:
152 alt_char = GDK_KEY_Right;
153 break;
154 case GDK_KEY_KP_Up:
155 alt_char = GDK_KEY_Up;
156 break;
157 case GDK_KEY_KP_Down:
158 alt_char = GDK_KEY_Down;
159 break;
160 case GDK_KEY_KP_Home:
161 alt_char = GDK_KEY_Home;
162 break;
163 case GDK_KEY_KP_End:
164 alt_char = GDK_KEY_End;
165 break;
166 case GDK_KEY_KP_Insert:
167 alt_char = GDK_KEY_Insert;
168 break;
169 case GDK_KEY_KP_Enter:
170 alt_char = GDK_KEY_Return;
171 break;
172 case GDK_KEY_KP_Page_Up:
173 alt_char = GDK_KEY_Page_Up;
174 break;
175 case GDK_KEY_KP_Page_Down:
176 alt_char = GDK_KEY_Page_Down;
177 break;
178 case GDK_KEY_KP_Add:
179 alt_char = GDK_KEY_plus;
180 break;
181 case GDK_KEY_KP_Subtract:
182 alt_char = GDK_KEY_minus;
183 break;
184 default:
185 break;
186 }
187
188 return alt_char;
189}
static guint dt_keys_mainpad_alternatives(const guint key_val)
Remap keypad keys to usual mainpad ones.
Definition gdkkeys.h:113
static guint dt_keys_numpad_alternatives(const guint key_val)
Find the numpad equivalent key of any given key. Use this to define/handle alternative shortcuts.
Definition gdkkeys.h:29