annotate semiconginev2/thirdparty/x11/xkblib.nim @ 1218:56781cc0fc7c compiletime-tests

did: renamge main package
author sam <sam@basx.dev>
date Wed, 17 Jul 2024 21:01:37 +0700
parents semicongine/old/thirdparty/x11/xkblib.nim@239adab121a3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1191
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
1 # $Xorg: XKBlib.h,v 1.6 2000/08/17 19:45:03 cpqbld Exp $
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
2 #************************************************************
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
3 #Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
4 #
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
5 #Permission to use, copy, modify, and distribute this
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
6 #software and its documentation for any purpose and without
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
7 #fee is hereby granted, provided that the above copyright
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
8 #notice appear in all copies and that both that copyright
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
9 #notice and this permission notice appear in supporting
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
10 #documentation, and that the name of Silicon Graphics not be
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
11 #used in advertising or publicity pertaining to distribution
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
12 #of the software without specific prior written permission.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
13 #Silicon Graphics makes no representation about the suitability
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
14 #of this software for any purpose. It is provided "as is"
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
15 #without any express or implied warranty.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
16 #
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
17 #SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
18 #SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
19 #AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
20 #GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
21 #DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING `from` LOSS OF USE,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
22 #DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
23 #OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
24 #THE USE OR PERFORMANCE OF THIS SOFTWARE.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
25 #
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
26 #********************************************************/
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
27 # $XFree86: xc/lib/X11/XKBlib.h,v 3.3 2001/08/01 00:44:38 tsi Exp $
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
28 #
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
29 # Pascal Convertion was made by Ido Kannner - kanerido@actcom.net.il
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
30 #
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
31 #Thanks:
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
32 # I want to thanks to oliebol for putting up with all of the problems that was found
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
33 # while translating this code. ;)
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
34 #
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
35 # I want to thanks #fpc channel in freenode irc, for helping me, and to put up with my
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
36 # wierd questions ;)
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
37 #
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
38 # Thanks for mmc in #xlib on freenode irc And so for the channel itself for the helping me to
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
39 # understanding some of the problems I had converting this headers and pointing me to resources
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
40 # that helped translating this headers.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
41 #
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
42 # Ido
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
43 #
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
44 #History:
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
45 # 2004/10/15 - Fixed a bug of accessing second based records by removing "paced record" and
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
46 # chnaged it to "reocrd" only.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
47 # 2004/10/10 - Added to XkbGetAtomNameFunc and XkbInternAtomFunc the cdecl call.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
48 # 2004/10/06 - 09 - Convertion `from` the c header of XKBlib.h
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
49 #
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
50 #
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
51
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
52 import
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
53 x, xlib, xkb
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
54
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
55
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
56 include "x11pragma.nim"
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
57
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
58
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
59 type
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
60 PXkbAnyEvent* = ptr XkbAnyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
61 XkbAnyEvent*{.final.} = object
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
62 theType*: int16 # XkbAnyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
63 serial*: int32 # # of last req processed by server
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
64 send_event*: bool # is this `from` a SendEvent request?
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
65 display*: PDisplay # Display the event was read `from`
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
66 time*: Time # milliseconds;
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
67 xkb_type*: int16 # XKB event minor code
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
68 device*: int16 # device ID
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
69
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
70
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
71 type
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
72 PXkbNewKeyboardNotifyEvent* = ptr XkbNewKeyboardNotifyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
73 XkbNewKeyboardNotifyEvent*{.final.} = object
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
74 theType*: int16 # XkbAnyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
75 serial*: int32 # of last req processed by server
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
76 send_event*: bool # is this `from` a SendEvent request?
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
77 display*: PDisplay # Display the event was read `from`
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
78 time*: Time # milliseconds
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
79 xkb_type*: int16 # XkbNewKeyboardNotify
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
80 device*: int16 # device ID
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
81 old_device*: int16 # device ID of previous keyboard
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
82 min_key_code*: int16 # minimum key code
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
83 max_key_code*: int16 # maximum key code
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
84 old_min_key_code*: int16 # min key code of previous kbd
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
85 old_max_key_code*: int16 # max key code of previous kbd
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
86 changed*: int16 # changed aspects of the keyboard
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
87 req_major*: int8 # major and minor opcode of req
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
88 req_minor*: int8 # that caused change, if applicable
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
89
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
90
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
91 type
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
92 PXkbMapNotifyEvent* = ptr XkbMapNotifyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
93 XkbMapNotifyEvent*{.final.} = object
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
94 theType*: int16 # XkbAnyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
95 serial*: int32 # of last req processed by server
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
96 send_event*: bool # is this `from` a SendEvent request
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
97 display*: PDisplay # Display the event was read `from`
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
98 time*: Time # milliseconds
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
99 xkb_type*: int16 # XkbMapNotify
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
100 device*: int16 # device ID
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
101 changed*: int16 # fields which have been changed
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
102 flags*: int16 # reserved
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
103 first_type*: int16 # first changed key type
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
104 num_types*: int16 # number of changed key types
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
105 min_key_code*: KeyCode
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
106 max_key_code*: KeyCode
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
107 first_key_sym*: KeyCode
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
108 first_key_act*: KeyCode
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
109 first_key_behavior*: KeyCode
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
110 first_key_explicit*: KeyCode
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
111 first_modmap_key*: KeyCode
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
112 first_vmodmap_key*: KeyCode
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
113 num_key_syms*: int16
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
114 num_key_acts*: int16
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
115 num_key_behaviors*: int16
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
116 num_key_explicit*: int16
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
117 num_modmap_keys*: int16
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
118 num_vmodmap_keys*: int16
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
119 vmods*: int16 # mask of changed virtual mods
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
120
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
121
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
122 type
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
123 PXkbStateNotifyEvent* = ptr XkbStateNotifyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
124 XkbStateNotifyEvent*{.final.} = object
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
125 theType*: int16 # XkbAnyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
126 serial*: int32 # # of last req processed by server
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
127 send_event*: bool # is this `from` a SendEvent request?
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
128 display*: PDisplay # Display the event was read `from`
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
129 time*: Time # milliseconds
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
130 xkb_type*: int16 # XkbStateNotify
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
131 device*: int16 # device ID
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
132 changed*: int16 # mask of changed state components
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
133 group*: int16 # keyboard group
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
134 base_group*: int16 # base keyboard group
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
135 latched_group*: int16 # latched keyboard group
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
136 locked_group*: int16 # locked keyboard group
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
137 mods*: int16 # modifier state
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
138 base_mods*: int16 # base modifier state
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
139 latched_mods*: int16 # latched modifiers
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
140 locked_mods*: int16 # locked modifiers
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
141 compat_state*: int16 # compatibility state
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
142 grab_mods*: int8 # mods used for grabs
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
143 compat_grab_mods*: int8 # grab mods for non-XKB clients
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
144 lookup_mods*: int8 # mods sent to clients
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
145 compat_lookup_mods*: int8 # mods sent to non-XKB clients
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
146 ptr_buttons*: int16 # pointer button state
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
147 keycode*: KeyCode # keycode that caused the change
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
148 event_type*: int8 # KeyPress or KeyRelease
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
149 req_major*: int8 # Major opcode of request
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
150 req_minor*: int8 # Minor opcode of request
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
151
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
152
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
153 type
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
154 PXkbControlsNotifyEvent* = ptr XkbControlsNotifyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
155 XkbControlsNotifyEvent*{.final.} = object
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
156 theType*: int16 # XkbAnyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
157 serial*: int32 # of last req processed by server
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
158 send_event*: bool # is this `from` a SendEvent request?
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
159 display*: PDisplay # Display the event was read `from`
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
160 time*: Time # milliseconds
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
161 xkb_type*: int16 # XkbControlsNotify
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
162 device*: int16 # device ID
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
163 changed_ctrls*: int16 # controls with changed sub-values
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
164 enabled_ctrls*: int16 # controls currently enabled
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
165 enabled_ctrl_changes*: int16 # controls just {en,dis}abled
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
166 num_groups*: int16 # total groups on keyboard
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
167 keycode*: KeyCode # key that caused change or 0
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
168 event_type*: int8 # type of event that caused change
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
169 req_major*: int8 # if keycode==0, major and minor
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
170 req_minor*: int8 # opcode of req that caused change
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
171
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
172
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
173 type
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
174 PXkbIndicatorNotifyEvent* = ptr XkbIndicatorNotifyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
175 XkbIndicatorNotifyEvent*{.final.} = object
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
176 theType*: int16 # XkbAnyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
177 serial*: int32 # of last req processed by server
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
178 send_event*: bool # is this `from` a SendEvent request?
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
179 display*: PDisplay # Display the event was read `from`
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
180 time*: Time # milliseconds
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
181 xkb_type*: int16 # XkbIndicatorNotify
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
182 device*: int16 # device
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
183 changed*: int16 # indicators with new state or map
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
184 state*: int16 # current state of all indicators
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
185
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
186
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
187 type
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
188 PXkbNamesNotifyEvent* = ptr XkbNamesNotifyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
189 XkbNamesNotifyEvent*{.final.} = object
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
190 theType*: int16 # XkbAnyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
191 serial*: int32 # of last req processed by server
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
192 send_event*: bool # is this `from` a SendEvent request?
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
193 display*: PDisplay # Display the event was read `from`
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
194 time*: Time # milliseconds
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
195 xkb_type*: int16 # XkbNamesNotify
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
196 device*: int16 # device ID
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
197 changed*: int32 # names that have changed
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
198 first_type*: int16 # first key type with new name
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
199 num_types*: int16 # number of key types with new names
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
200 first_lvl*: int16 # first key type new new level names
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
201 num_lvls*: int16 # # of key types w/new level names
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
202 num_aliases*: int16 # total number of key aliases
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
203 num_radio_groups*: int16 # total number of radio groups
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
204 changed_vmods*: int16 # virtual modifiers with new names
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
205 changed_groups*: int16 # groups with new names
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
206 changed_indicators*: int16 # indicators with new names
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
207 first_key*: int16 # first key with new name
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
208 num_keys*: int16 # number of keys with new names
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
209
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
210
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
211 type
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
212 PXkbCompatMapNotifyEvent* = ptr XkbCompatMapNotifyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
213 XkbCompatMapNotifyEvent*{.final.} = object
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
214 theType*: int16 # XkbAnyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
215 serial*: int32 # of last req processed by server
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
216 send_event*: bool # is this `from` a SendEvent request?
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
217 display*: PDisplay # Display the event was read `from`
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
218 time*: Time # milliseconds
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
219 xkb_type*: int16 # XkbCompatMapNotify
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
220 device*: int16 # device ID
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
221 changed_groups*: int16 # groups with new compat maps
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
222 first_si*: int16 # first new symbol interp
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
223 num_si*: int16 # number of new symbol interps
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
224 num_total_si*: int16 # total # of symbol interps
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
225
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
226
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
227 type
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
228 PXkbBellNotifyEvent* = ptr XkbBellNotifyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
229 XkbBellNotifyEvent*{.final.} = object
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
230 theType*: int16 # XkbAnyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
231 serial*: int32 # of last req processed by server
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
232 send_event*: bool # is this `from` a SendEvent request?
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
233 display*: PDisplay # Display the event was read `from`
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
234 time*: Time # milliseconds
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
235 xkb_type*: int16 # XkbBellNotify
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
236 device*: int16 # device ID
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
237 percent*: int16 # requested volume as a % of maximum
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
238 pitch*: int16 # requested pitch in Hz
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
239 duration*: int16 # requested duration in useconds
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
240 bell_class*: int16 # (input extension) feedback class
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
241 bell_id*: int16 # (input extension) ID of feedback
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
242 name*: Atom # "name" of requested bell
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
243 window*: Window # window associated with event
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
244 event_only*: bool # "event only" requested
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
245
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
246
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
247 type
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
248 PXkbActionMessageEvent* = ptr XkbActionMessageEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
249 XkbActionMessageEvent*{.final.} = object
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
250 theType*: int16 # XkbAnyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
251 serial*: int32 # of last req processed by server
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
252 send_event*: bool # is this `from` a SendEvent request?
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
253 display*: PDisplay # Display the event was read `from`
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
254 time*: Time # milliseconds
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
255 xkb_type*: int16 # XkbActionMessage
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
256 device*: int16 # device ID
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
257 keycode*: KeyCode # key that generated the event
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
258 press*: bool # true if act caused by key press
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
259 key_event_follows*: bool # true if key event also generated
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
260 group*: int16 # effective group
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
261 mods*: int16 # effective mods
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
262 message*: array[0..XkbActionMessageLength, char] # message -- leave space for NUL
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
263
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
264
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
265 type
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
266 PXkbAccessXNotifyEvent* = ptr XkbAccessXNotifyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
267 XkbAccessXNotifyEvent*{.final.} = object
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
268 theType*: int16 # XkbAnyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
269 serial*: int32 # of last req processed by server
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
270 send_event*: bool # is this `from` a SendEvent request?
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
271 display*: PDisplay # Display the event was read `from`
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
272 time*: Time # milliseconds
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
273 xkb_type*: int16 # XkbAccessXNotify
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
274 device*: int16 # device ID
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
275 detail*: int16 # XkbAXN_*
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
276 keycode*: int16 # key of event
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
277 sk_delay*: int16 # current slow keys delay
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
278 debounce_delay*: int16 # current debounce delay
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
279
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
280
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
281 type
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
282 PXkbExtensionDeviceNotifyEvent* = ptr XkbExtensionDeviceNotifyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
283 XkbExtensionDeviceNotifyEvent*{.final.} = object
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
284 theType*: int16 # XkbAnyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
285 serial*: int32 # of last req processed by server
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
286 send_event*: bool # is this `from` a SendEvent request?
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
287 display*: PDisplay # Display the event was read `from`
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
288 time*: Time # milliseconds
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
289 xkb_type*: int16 # XkbExtensionDeviceNotify
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
290 device*: int16 # device ID
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
291 reason*: int16 # reason for the event
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
292 supported*: int16 # mask of supported features
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
293 unsupported*: int16 # mask of unsupported features
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
294 # that some app tried to use
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
295 first_btn*: int16 # first button that changed
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
296 num_btns*: int16 # range of buttons changed
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
297 leds_defined*: int16 # indicators with names or maps
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
298 led_state*: int16 # current state of the indicators
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
299 led_class*: int16 # feedback class for led changes
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
300 led_id*: int16 # feedback id for led changes
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
301
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
302
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
303 type
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
304 PXkbEvent* = ptr XkbEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
305 XkbEvent*{.final.} = object
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
306 theType*: int16
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
307 any*: XkbAnyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
308 new_kbd*: XkbNewKeyboardNotifyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
309 map*: XkbMapNotifyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
310 state*: XkbStateNotifyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
311 ctrls*: XkbControlsNotifyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
312 indicators*: XkbIndicatorNotifyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
313 names*: XkbNamesNotifyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
314 compat*: XkbCompatMapNotifyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
315 bell*: XkbBellNotifyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
316 message*: XkbActionMessageEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
317 accessx*: XkbAccessXNotifyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
318 device*: XkbExtensionDeviceNotifyEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
319 core*: XEvent
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
320
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
321
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
322 type
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
323 PXkbKbdDpyStatePtr* = ptr XkbKbdDpyStateRec
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
324 XkbKbdDpyStateRec*{.final.} = object # XkbOpenDisplay error codes
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
325
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
326 const
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
327 XkbOD_Success* = 0
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
328 XkbOD_BadLibraryVersion* = 1
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
329 XkbOD_ConnectionRefused* = 2
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
330 XkbOD_NonXkbServer* = 3
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
331 XkbOD_BadServerVersion* = 4 # Values for XlibFlags
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
332
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
333 const
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
334 XkbLC_ForceLatin1Lookup* = 1 shl 0
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
335 XkbLC_ConsumeLookupMods* = 1 shl 1
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
336 XkbLC_AlwaysConsumeShiftAndLock* = 1 shl 2
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
337 XkbLC_IgnoreNewKeyboards* = 1 shl 3
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
338 XkbLC_ControlFallback* = 1 shl 4
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
339 XkbLC_ConsumeKeysOnComposeFail* = 1 shl 29
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
340 XkbLC_ComposeLED* = 1 shl 30
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
341 XkbLC_BeepOnComposeFail* = 1 shl 31
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
342 XkbLC_AllComposeControls* = 0xC0000000
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
343 XkbLC_AllControls* = 0xC000001F
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
344
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
345 proc XkbIgnoreExtension*(ignore: bool): bool{.libx11c,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
346 importc: "XkbIgnoreExtension".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
347 proc XkbOpenDisplay*(name: cstring, ev_rtrn, err_rtrn, major_rtrn, minor_rtrn,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
348 reason: ptr int16): PDisplay{.libx11c, importc: "XkbOpenDisplay".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
349 proc XkbQueryExtension*(dpy: PDisplay, opcodeReturn, eventBaseReturn,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
350 errorBaseReturn, majorRtrn, minorRtrn: ptr int16): bool{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
351 libx11c, importc: "XkbQueryExtension".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
352 proc XkbUseExtension*(dpy: PDisplay, major_rtrn, minor_rtrn: ptr int16): bool{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
353 libx11c, importc: "XkbUseExtension".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
354 proc XkbLibraryVersion*(libMajorRtrn, libMinorRtrn: ptr int16): bool{.libx11c, importc: "XkbLibraryVersion".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
355 proc XkbSetXlibControls*(dpy: PDisplay, affect, values: int16): int16{.libx11c, importc: "XkbSetXlibControls".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
356 proc XkbGetXlibControls*(dpy: PDisplay): int16{.libx11c,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
357 importc: "XkbGetXlibControls".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
358 type
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
359 XkbInternAtomFunc* = proc (dpy: PDisplay, name: cstring, only_if_exists: bool): Atom{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
360 cdecl.}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
361
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
362 type
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
363 XkbGetAtomNameFunc* = proc (dpy: PDisplay, atom: Atom): cstring{.cdecl.}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
364
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
365 proc XkbSetAtomFuncs*(getAtom: XkbInternAtomFunc, getName: XkbGetAtomNameFunc){.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
366 libx11c, importc: "XkbSetAtomFuncs".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
367 proc XkbKeycodeToKeysym*(dpy: PDisplay, kc: KeyCode, group, level: int16): KeySym{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
368 libx11c, importc: "XkbKeycodeToKeysym".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
369 proc XkbKeysymToModifiers*(dpy: PDisplay, ks: KeySym): int16{.libx11c, importc: "XkbKeysymToModifiers".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
370 proc XkbLookupKeySym*(dpy: PDisplay, keycode: KeyCode,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
371 modifiers, modifiers_return: int16, keysym_return: PKeySym): bool{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
372 libx11c, importc: "XkbLookupKeySym".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
373 proc XkbLookupKeyBinding*(dpy: PDisplay, sym_rtrn: KeySym, mods: int16,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
374 buffer: cstring, nbytes: int16, extra_rtrn: ptr int16): int16{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
375 libx11c, importc: "XkbLookupKeyBinding".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
376 proc XkbTranslateKeyCode*(xkb: PXkbDescPtr, keycode: KeyCode,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
377 modifiers, modifiers_return: int16,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
378 keysym_return: PKeySym): bool{.libx11c,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
379 importc: "XkbTranslateKeyCode".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
380 proc XkbTranslateKeySym*(dpy: PDisplay, sym_return: KeySym, modifiers: int16,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
381 buffer: cstring, nbytes: int16, extra_rtrn: ptr int16): int16{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
382 libx11c, importc: "XkbTranslateKeySym".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
383 proc XkbSetAutoRepeatRate*(dpy: PDisplay, deviceSpec, delay, interval: int16): bool{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
384 libx11c, importc: "XkbSetAutoRepeatRate".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
385 proc XkbGetAutoRepeatRate*(dpy: PDisplay, deviceSpec: int16,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
386 delayRtrn, intervalRtrn: PWord): bool{.libx11c, importc: "XkbGetAutoRepeatRate".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
387 proc XkbChangeEnabledControls*(dpy: PDisplay, deviceSpec, affect, values: int16): bool{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
388 libx11c, importc: "XkbChangeEnabledControls".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
389 proc XkbDeviceBell*(dpy: PDisplay, win: Window,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
390 deviceSpec, bellClass, bellID, percent: int16, name: Atom): bool{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
391 libx11c, importc: "XkbDeviceBell".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
392 proc XkbForceDeviceBell*(dpy: PDisplay,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
393 deviceSpec, bellClass, bellID, percent: int16): bool{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
394 libx11c, importc: "XkbForceDeviceBell".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
395 proc XkbDeviceBellEvent*(dpy: PDisplay, win: Window,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
396 deviceSpec, bellClass, bellID, percent: int16,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
397 name: Atom): bool{.libx11c,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
398 importc: "XkbDeviceBellEvent".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
399 proc XkbBell*(dpy: PDisplay, win: Window, percent: int16, name: Atom): bool{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
400 libx11c, importc: "XkbBell".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
401 proc XkbForceBell*(dpy: PDisplay, percent: int16): bool{.libx11c,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
402 importc: "XkbForceBell".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
403 proc XkbBellEvent*(dpy: PDisplay, win: Window, percent: int16, name: Atom): bool{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
404 libx11c, importc: "XkbBellEvent".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
405 proc XkbSelectEvents*(dpy: PDisplay, deviceID, affect, values: int16): bool{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
406 libx11c, importc: "XkbSelectEvents".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
407 proc XkbSelectEventDetails*(dpy: PDisplay, deviceID, eventType: int16,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
408 affect, details: int32): bool{.libx11c, importc: "XkbSelectEventDetails".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
409 proc XkbNoteMapChanges*(old: PXkbMapChangesPtr, new: PXkbMapNotifyEvent,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
410 wanted: int16){.libx11c,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
411 importc: "XkbNoteMapChanges".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
412 proc XkbNoteNameChanges*(old: PXkbNameChangesPtr, new: PXkbNamesNotifyEvent,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
413 wanted: int16){.libx11c,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
414 importc: "XkbNoteNameChanges".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
415 proc XkbGetIndicatorState*(dpy: PDisplay, deviceSpec: int16, pStateRtrn: PWord): Status{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
416 libx11c, importc: "XkbGetIndicatorState".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
417 proc XkbGetDeviceIndicatorState*(dpy: PDisplay,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
418 deviceSpec, ledClass, ledID: int16,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
419 pStateRtrn: PWord): Status{.libx11c, importc: "XkbGetDeviceIndicatorState".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
420 proc XkbGetIndicatorMap*(dpy: PDisplay, which: int32, desc: PXkbDescPtr): Status{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
421 libx11c, importc: "XkbGetIndicatorMap".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
422 proc XkbSetIndicatorMap*(dpy: PDisplay, which: int32, desc: PXkbDescPtr): bool{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
423 libx11c, importc: "XkbSetIndicatorMap".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
424 proc XkbNoteIndicatorMapChanges*(o, n: PXkbIndicatorChangesPtr, w: int16)
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
425 proc XkbNoteIndicatorStateChanges*(o, n: PXkbIndicatorChangesPtr, w: int16)
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
426 proc XkbGetIndicatorMapChanges*(d: PDisplay, x: PXkbDescPtr,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
427 c: PXkbIndicatorChangesPtr): Status
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
428 proc XkbChangeIndicatorMaps*(d: PDisplay, x: PXkbDescPtr,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
429 c: PXkbIndicatorChangesPtr): bool
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
430 proc XkbGetNamedIndicator*(dpy: PDisplay, name: Atom, pNdxRtrn: ptr int16,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
431 pStateRtrn: ptr bool, pMapRtrn: PXkbIndicatorMapPtr,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
432 pRealRtrn: ptr bool): bool{.libx11c,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
433 importc: "XkbGetNamedIndicator".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
434 proc XkbGetNamedDeviceIndicator*(dpy: PDisplay,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
435 deviceSpec, ledClass, ledID: int16,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
436 name: Atom, pNdxRtrn: ptr int16,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
437 pStateRtrn: ptr bool,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
438 pMapRtrn: PXkbIndicatorMapPtr,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
439 pRealRtrn: ptr bool): bool{.libx11c, importc: "XkbGetNamedDeviceIndicator".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
440 proc XkbSetNamedIndicator*(dpy: PDisplay, name: Atom,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
441 changeState, state, createNewMap: bool,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
442 pMap: PXkbIndicatorMapPtr): bool{.libx11c, importc: "XkbSetNamedIndicator".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
443 proc XkbSetNamedDeviceIndicator*(dpy: PDisplay,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
444 deviceSpec, ledClass, ledID: int16,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
445 name: Atom,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
446 changeState, state, createNewMap: bool,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
447 pMap: PXkbIndicatorMapPtr): bool{.libx11c, importc: "XkbSetNamedDeviceIndicator".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
448 proc XkbLockModifiers*(dpy: PDisplay, deviceSpec, affect, values: int16): bool{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
449 libx11c, importc: "XkbLockModifiers".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
450 proc XkbLatchModifiers*(dpy: PDisplay, deviceSpec, affect, values: int16): bool{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
451 libx11c, importc: "XkbLatchModifiers".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
452 proc XkbLockGroup*(dpy: PDisplay, deviceSpec, group: int16): bool{.libx11c, importc: "XkbLockGroup".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
453 proc XkbLatchGroup*(dpy: PDisplay, deviceSpec, group: int16): bool{.libx11c, importc: "XkbLatchGroup".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
454 proc XkbSetServerInternalMods*(dpy: PDisplay, deviceSpec, affectReal,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
455 realValues, affectVirtual, virtualValues: int16): bool{.libx11c, importc: "XkbSetServerInternalMods".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
456 proc XkbSetIgnoreLockMods*(dpy: PDisplay, deviceSpec, affectReal, realValues,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
457 affectVirtual, virtualValues: int16): bool{.libx11c,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
458 importc: "XkbSetIgnoreLockMods".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
459 proc XkbVirtualModsToReal*(dpy: PDisplay, virtual_mask: int16, mask_rtrn: PWord): bool{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
460 libx11c, importc: "XkbVirtualModsToReal".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
461 proc XkbComputeEffectiveMap*(xkb: PXkbDescPtr, theType: PXkbKeyTypePtr,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
462 map_rtrn: PByte): bool{.libx11c,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
463 importc: "XkbComputeEffectiveMap".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
464 proc XkbInitCanonicalKeyTypes*(xkb: PXkbDescPtr, which: int16, keypadVMod: int16): Status{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
465 libx11c, importc: "XkbInitCanonicalKeyTypes".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
466 proc XkbAllocKeyboard*(): PXkbDescPtr{.libx11c,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
467 importc: "XkbAllocKeyboard".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
468 proc XkbFreeKeyboard*(xkb: PXkbDescPtr, which: int16, freeDesc: bool){.libx11c, importc: "XkbFreeKeyboard".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
469 proc XkbAllocClientMap*(xkb: PXkbDescPtr, which, nTypes: int16): Status{.libx11c, importc: "XkbAllocClientMap".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
470 proc XkbAllocServerMap*(xkb: PXkbDescPtr, which, nActions: int16): Status{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
471 libx11c, importc: "XkbAllocServerMap".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
472 proc XkbFreeClientMap*(xkb: PXkbDescPtr, what: int16, freeMap: bool){.libx11c, importc: "XkbFreeClientMap".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
473 proc XkbFreeServerMap*(xkb: PXkbDescPtr, what: int16, freeMap: bool){.libx11c, importc: "XkbFreeServerMap".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
474 proc XkbAddKeyType*(xkb: PXkbDescPtr, name: Atom, map_count: int16,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
475 want_preserve: bool, num_lvls: int16): PXkbKeyTypePtr{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
476 libx11c, importc: "XkbAddKeyType".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
477 proc XkbAllocIndicatorMaps*(xkb: PXkbDescPtr): Status{.libx11c,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
478 importc: "XkbAllocIndicatorMaps".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
479 proc XkbFreeIndicatorMaps*(xkb: PXkbDescPtr){.libx11c,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
480 importc: "XkbFreeIndicatorMaps".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
481 proc XkbGetMap*(dpy: PDisplay, which, deviceSpec: int16): PXkbDescPtr{.libx11c, importc: "XkbGetMap".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
482 proc XkbGetUpdatedMap*(dpy: PDisplay, which: int16, desc: PXkbDescPtr): Status{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
483 libx11c, importc: "XkbGetUpdatedMap".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
484 proc XkbGetMapChanges*(dpy: PDisplay, xkb: PXkbDescPtr,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
485 changes: PXkbMapChangesPtr): Status{.libx11c, importc: "XkbGetMapChanges".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
486 proc XkbRefreshKeyboardMapping*(event: PXkbMapNotifyEvent): Status{.libx11c, importc: "XkbRefreshKeyboardMapping".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
487 proc XkbGetKeyTypes*(dpy: PDisplay, first, num: int16, xkb: PXkbDescPtr): Status{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
488 libx11c, importc: "XkbGetKeyTypes".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
489 proc XkbGetKeySyms*(dpy: PDisplay, first, num: int16, xkb: PXkbDescPtr): Status{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
490 libx11c, importc: "XkbGetKeySyms".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
491 proc XkbGetKeyActions*(dpy: PDisplay, first, num: int16, xkb: PXkbDescPtr): Status{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
492 libx11c, importc: "XkbGetKeyActions".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
493 proc XkbGetKeyBehaviors*(dpy: PDisplay, firstKey, nKeys: int16,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
494 desc: PXkbDescPtr): Status{.libx11c,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
495 importc: "XkbGetKeyBehaviors".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
496 proc XkbGetVirtualMods*(dpy: PDisplay, which: int16, desc: PXkbDescPtr): Status{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
497 libx11c, importc: "XkbGetVirtualMods".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
498 proc XkbGetKeyExplicitComponents*(dpy: PDisplay, firstKey, nKeys: int16,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
499 desc: PXkbDescPtr): Status{.libx11c, importc: "XkbGetKeyExplicitComponents".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
500 proc XkbGetKeyModifierMap*(dpy: PDisplay, firstKey, nKeys: int16,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
501 desc: PXkbDescPtr): Status{.libx11c,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
502 importc: "XkbGetKeyModifierMap".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
503 proc XkbAllocControls*(xkb: PXkbDescPtr, which: int16): Status{.libx11c, importc: "XkbAllocControls".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
504 proc XkbFreeControls*(xkb: PXkbDescPtr, which: int16, freeMap: bool){.libx11c, importc: "XkbFreeControls".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
505 proc XkbGetControls*(dpy: PDisplay, which: int32, desc: PXkbDescPtr): Status{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
506 libx11c, importc: "XkbGetControls".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
507 proc XkbSetControls*(dpy: PDisplay, which: int32, desc: PXkbDescPtr): bool{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
508 libx11c, importc: "XkbSetControls".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
509 proc XkbNoteControlsChanges*(old: PXkbControlsChangesPtr,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
510 new: PXkbControlsNotifyEvent, wanted: int16){.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
511 libx11c, importc: "XkbNoteControlsChanges".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
512 proc XkbGetControlsChanges*(d: PDisplay, x: PXkbDescPtr,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
513 c: PXkbControlsChangesPtr): Status
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
514 proc XkbChangeControls*(d: PDisplay, x: PXkbDescPtr, c: PXkbControlsChangesPtr): bool
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
515 proc XkbAllocCompatMap*(xkb: PXkbDescPtr, which, nInterpret: int16): Status{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
516 libx11c, importc: "XkbAllocCompatMap".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
517 proc XkbFreeCompatMap*(xkib: PXkbDescPtr, which: int16, freeMap: bool){.libx11c, importc: "XkbFreeCompatMap".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
518 proc XkbGetCompatMap*(dpy: PDisplay, which: int16, xkb: PXkbDescPtr): Status{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
519 libx11c, importc: "XkbGetCompatMap".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
520 proc XkbSetCompatMap*(dpy: PDisplay, which: int16, xkb: PXkbDescPtr,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
521 updateActions: bool): bool{.libx11c,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
522 importc: "XkbSetCompatMap".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
523 proc XkbAddSymInterpret*(xkb: PXkbDescPtr, si: PXkbSymInterpretPtr,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
524 updateMap: bool, changes: PXkbChangesPtr): PXkbSymInterpretPtr{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
525 libx11c, importc: "XkbAddSymInterpret".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
526 proc XkbAllocNames*(xkb: PXkbDescPtr, which: int16,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
527 nTotalRG, nTotalAliases: int16): Status{.libx11c, importc: "XkbAllocNames".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
528 proc XkbGetNames*(dpy: PDisplay, which: int16, desc: PXkbDescPtr): Status{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
529 libx11c, importc: "XkbGetNames".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
530 proc XkbSetNames*(dpy: PDisplay, which, firstType, nTypes: int16,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
531 desc: PXkbDescPtr): bool{.libx11c,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
532 importc: "XkbSetNames".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
533 proc XkbChangeNames*(dpy: PDisplay, xkb: PXkbDescPtr,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
534 changes: PXkbNameChangesPtr): bool{.libx11c,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
535 importc: "XkbChangeNames".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
536 proc XkbFreeNames*(xkb: PXkbDescPtr, which: int16, freeMap: bool){.libx11c, importc: "XkbFreeNames".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
537 proc XkbGetState*(dpy: PDisplay, deviceSpec: int16, rtrnState: PXkbStatePtr): Status{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
538 libx11c, importc: "XkbGetState".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
539 proc XkbSetMap*(dpy: PDisplay, which: int16, desc: PXkbDescPtr): bool{.libx11c, importc: "XkbSetMap".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
540 proc XkbChangeMap*(dpy: PDisplay, desc: PXkbDescPtr, changes: PXkbMapChangesPtr): bool{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
541 libx11c, importc: "XkbChangeMap".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
542 proc XkbSetDetectableAutoRepeat*(dpy: PDisplay, detectable: bool,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
543 supported: ptr bool): bool{.libx11c, importc: "XkbSetDetectableAutoRepeat".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
544 proc XkbGetDetectableAutoRepeat*(dpy: PDisplay, supported: ptr bool): bool{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
545 libx11c, importc: "XkbGetDetectableAutoRepeat".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
546 proc XkbSetAutoResetControls*(dpy: PDisplay, changes: int16,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
547 auto_ctrls, auto_values: PWord): bool{.libx11c, importc: "XkbSetAutoResetControls".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
548 proc XkbGetAutoResetControls*(dpy: PDisplay, auto_ctrls, auto_ctrl_values: PWord): bool{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
549 libx11c, importc: "XkbGetAutoResetControls".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
550 proc XkbSetPerClientControls*(dpy: PDisplay, change: int16, values: PWord): bool{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
551 libx11c, importc: "XkbSetPerClientControls".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
552 proc XkbGetPerClientControls*(dpy: PDisplay, ctrls: PWord): bool{.libx11c, importc: "XkbGetPerClientControls".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
553 proc XkbCopyKeyType*(`from`, into: PXkbKeyTypePtr): Status{.libx11c, importc: "XkbCopyKeyType".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
554 proc XkbCopyKeyTypes*(`from`, into: PXkbKeyTypePtr, num_types: int16): Status{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
555 libx11c, importc: "XkbCopyKeyTypes".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
556 proc XkbResizeKeyType*(xkb: PXkbDescPtr, type_ndx, map_count: int16,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
557 want_preserve: bool, new_num_lvls: int16): Status{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
558 libx11c, importc: "XkbResizeKeyType".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
559 proc XkbResizeKeySyms*(desc: PXkbDescPtr, forKey, symsNeeded: int16): PKeySym{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
560 libx11c, importc: "XkbResizeKeySyms".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
561 proc XkbResizeKeyActions*(desc: PXkbDescPtr, forKey, actsNeeded: int16): PXkbAction{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
562 libx11c, importc: "XkbResizeKeyActions".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
563 proc XkbChangeTypesOfKey*(xkb: PXkbDescPtr, key, num_groups: int16,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
564 groups: int16, newTypes: ptr int16,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
565 pChanges: PXkbMapChangesPtr): Status{.libx11c, importc: "XkbChangeTypesOfKey".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
566
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
567 proc XkbListComponents*(dpy: PDisplay, deviceSpec: int16,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
568 ptrns: PXkbComponentNamesPtr, max_inout: ptr int16): PXkbComponentListPtr{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
569 libx11c, importc: "XkbListComponents".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
570 proc XkbFreeComponentList*(list: PXkbComponentListPtr){.libx11c,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
571 importc: "XkbFreeComponentList".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
572 proc XkbGetKeyboard*(dpy: PDisplay, which, deviceSpec: int16): PXkbDescPtr{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
573 libx11c, importc: "XkbGetKeyboard".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
574 proc XkbGetKeyboardByName*(dpy: PDisplay, deviceSpec: int16,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
575 names: PXkbComponentNamesPtr, want, need: int16,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
576 load: bool): PXkbDescPtr{.libx11c,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
577 importc: "XkbGetKeyboardByName".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
578
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
579 proc XkbKeyTypesForCoreSymbols*(xkb: PXkbDescPtr,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
580 map_width: int16, # keyboard device
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
581 core_syms: PKeySym, # always mapWidth symbols
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
582 protected: int16, # explicit key types
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
583 types_inout: ptr int16, # always four type indices
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
584 xkb_syms_rtrn: PKeySym): int16{.libx11c, importc: "XkbKeyTypesForCoreSymbols".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
585 # must have enough space
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
586 proc XkbApplyCompatMapToKey*(xkb: PXkbDescPtr,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
587 key: KeyCode, # key to be updated
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
588 changes: PXkbChangesPtr): bool{.libx11c, importc: "XkbApplyCompatMapToKey".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
589 # resulting changes to map
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
590 proc XkbUpdateMapFromCore*(xkb: PXkbDescPtr,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
591 first_key: KeyCode, # first changed key
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
592 num_keys,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
593 map_width: int16,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
594 core_keysyms: PKeySym, # symbols `from` core keymap
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
595 changes: PXkbChangesPtr): bool{.libx11c, importc: "XkbUpdateMapFromCore".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
596
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
597 proc XkbAddDeviceLedInfo*(devi: PXkbDeviceInfoPtr, ledClass, ledId: int16): PXkbDeviceLedInfoPtr{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
598 libx11c, importc: "XkbAddDeviceLedInfo".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
599 proc XkbResizeDeviceButtonActions*(devi: PXkbDeviceInfoPtr, newTotal: int16): Status{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
600 libx11c, importc: "XkbResizeDeviceButtonActions".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
601 proc XkbAllocDeviceInfo*(deviceSpec, nButtons, szLeds: int16): PXkbDeviceInfoPtr{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
602 libx11c, importc: "XkbAllocDeviceInfo".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
603 proc XkbFreeDeviceInfo*(devi: PXkbDeviceInfoPtr, which: int16, freeDevI: bool){.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
604 libx11c, importc: "XkbFreeDeviceInfo".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
605 proc XkbNoteDeviceChanges*(old: PXkbDeviceChangesPtr,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
606 new: PXkbExtensionDeviceNotifyEvent, wanted: int16){.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
607 libx11c, importc: "XkbNoteDeviceChanges".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
608 proc XkbGetDeviceInfo*(dpy: PDisplay, which, deviceSpec, ledClass, ledID: int16): PXkbDeviceInfoPtr{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
609 libx11c, importc: "XkbGetDeviceInfo".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
610 proc XkbGetDeviceInfoChanges*(dpy: PDisplay, devi: PXkbDeviceInfoPtr,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
611 changes: PXkbDeviceChangesPtr): Status{.libx11c, importc: "XkbGetDeviceInfoChanges".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
612 proc XkbGetDeviceButtonActions*(dpy: PDisplay, devi: PXkbDeviceInfoPtr,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
613 all: bool, first, nBtns: int16): Status{.libx11c, importc: "XkbGetDeviceButtonActions".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
614 proc XkbGetDeviceLedInfo*(dpy: PDisplay, devi: PXkbDeviceInfoPtr,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
615 ledClass, ledId, which: int16): Status{.libx11c, importc: "XkbGetDeviceLedInfo".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
616 proc XkbSetDeviceInfo*(dpy: PDisplay, which: int16, devi: PXkbDeviceInfoPtr): bool{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
617 libx11c, importc: "XkbSetDeviceInfo".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
618 proc XkbChangeDeviceInfo*(dpy: PDisplay, desc: PXkbDeviceInfoPtr,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
619 changes: PXkbDeviceChangesPtr): bool{.libx11c, importc: "XkbChangeDeviceInfo".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
620 proc XkbSetDeviceLedInfo*(dpy: PDisplay, devi: PXkbDeviceInfoPtr,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
621 ledClass, ledID, which: int16): bool{.libx11c, importc: "XkbSetDeviceLedInfo".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
622 proc XkbSetDeviceButtonActions*(dpy: PDisplay, devi: PXkbDeviceInfoPtr,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
623 first, nBtns: int16): bool{.libx11c, importc: "XkbSetDeviceButtonActions".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
624
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
625 proc XkbToControl*(c: int8): int8{.libx11c,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
626 importc: "XkbToControl".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
627
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
628 proc XkbSetDebuggingFlags*(dpy: PDisplay, mask, flags: int16, msg: cstring,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
629 ctrls_mask, ctrls, rtrn_flags, rtrn_ctrls: int16): bool{.
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
630 libx11c, importc: "XkbSetDebuggingFlags".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
631 proc XkbApplyVirtualModChanges*(xkb: PXkbDescPtr, changed: int16,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
632 changes: PXkbChangesPtr): bool{.libx11c, importc: "XkbApplyVirtualModChanges".}
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
633
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
634 # implementation
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
635
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
636 proc XkbNoteIndicatorMapChanges(o, n: PXkbIndicatorChangesPtr, w: int16) =
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
637 ##define XkbNoteIndicatorMapChanges(o,n,w) ((o)->map_changes|=((n)->map_changes&(w)))
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
638 o.map_changes = o.map_changes or (n.map_changes and w)
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
639
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
640 proc XkbNoteIndicatorStateChanges(o, n: PXkbIndicatorChangesPtr, w: int16) =
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
641 ##define XkbNoteIndicatorStateChanges(o,n,w) ((o)->state_changes|=((n)->state_changes&(w)))
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
642 o.state_changes = o.state_changes or (n.state_changes and (w))
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
643
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
644 proc XkbGetIndicatorMapChanges(d: PDisplay, x: PXkbDescPtr,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
645 c: PXkbIndicatorChangesPtr): Status =
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
646 ##define XkbGetIndicatorMapChanges(d,x,c) (XkbGetIndicatorMap((d),(c)->map_changes,x)
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
647 result = XkbGetIndicatorMap(d, c.map_changes, x)
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
648
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
649 proc XkbChangeIndicatorMaps(d: PDisplay, x: PXkbDescPtr,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
650 c: PXkbIndicatorChangesPtr): bool =
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
651 ##define XkbChangeIndicatorMaps(d,x,c) (XkbSetIndicatorMap((d),(c)->map_changes,x))
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
652 result = XkbSetIndicatorMap(d, c.map_changes, x)
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
653
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
654 proc XkbGetControlsChanges(d: PDisplay, x: PXkbDescPtr,
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
655 c: PXkbControlsChangesPtr): Status =
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
656 ##define XkbGetControlsChanges(d,x,c) XkbGetControls(d,(c)->changed_ctrls,x)
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
657 result = XkbGetControls(d, c.changed_ctrls, x)
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
658
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
659 proc XkbChangeControls(d: PDisplay, x: PXkbDescPtr, c: PXkbControlsChangesPtr): bool =
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
660 ##define XkbChangeControls(d,x,c) XkbSetControls(d,(c)->changed_ctrls,x)
239adab121a3 sync from bedroom to office
sam <sam@basx.dev>
parents:
diff changeset
661 result = XkbSetControls(d, c.changed_ctrls, x)