semicongine/thirdparty/x11/xkb

Search:
Group by:

Types

PByte = ptr byte
PWord = ptr array[0 .. 64000, int16]
XkbAction {.final.} = object
  any*: XkbAnyAction
  mods*: XkbModAction
  group*: XkbGroupAction
  iso*: XkbISOAction
  thePtr*: XkbPtrAction
  btn*: XkbPtrBtnAction
  dflt*: XkbPtrDfltAction
  screen*: XkbSwitchScreenAction
  ctrls*: XkbCtrlsAction
  msg*: XkbMessageAction
  redirect*: XkbRedirectKeyAction
  devbtn*: XkbDeviceBtnAction
  devval*: XkbDeviceValuatorAction
  theType*: int8
XkbAnyAction {.final.} = object
  theType*: int8
  data*: array[0 .. 7 - 1, int8]
XkbAnyDoodadRec {.final.} = object
  name*: Atom
  theType*: int8
  priority*: int8
  top*: int16
  left*: int16
  angle*: int16
XkbBehavior {.final.} = object
  theType*: int8
  data*: int8
XkbBoundsRec {.final.} = object
  x1*: int16
  y1*: int16
  x2*: int16
  y2*: int16
XkbChangesRec {.final.} = object
  device_spec*: int16
  state_changes*: int16
  map*: XkbMapChangesRec
  ctrls*: XkbControlsChangesRec
  indicators*: XkbIndicatorChangesRec
  names*: XkbNameChangesRec
  compat*: XkbCompatChangesRec
XkbClientMapRec {.final.} = object
  size_types*: int8
  num_types*: int8
  types*: ptr array[0 .. 0x0000FFFF, XkbKeyTypeRec]
  size_syms*: int16
  num_syms*: int16
  syms*: ptr array[0 .. 0x0000FFFF, KeySym]
  key_sym_map*: ptr array[0 .. 0x0000FFFF, XkbSymMapRec]
  modmap*: PByte
XkbColorRec {.final.} = object
  pixel*: int16
  spec*: cstring
XkbCompatChangesRec {.final.} = object
  changed_groups*: int8
  first_si*: int16
  num_si*: int16
XkbCompatMapRec {.final.} = object
  sym_interpret*: PXkbSymInterpretPtr
  groups*: array[0 .. 4 - 1, XkbModsRec]
  num_si*: int16
  size_si*: int16
XkbComponentListRec {.final.} = object
  num_keymaps*: int16
  num_keycodes*: int16
  num_types*: int16
  num_compat*: int16
  num_symbols*: int16
  num_geometry*: int16
  keymaps*: PXkbComponentNamePtr
  keycodes*: PXkbComponentNamePtr
  types*: PXkbComponentNamePtr
  compat*: PXkbComponentNamePtr
  symbols*: PXkbComponentNamePtr
  geometry*: PXkbComponentNamePtr
XkbComponentNameRec {.final.} = object
  flags*: int16
  name*: cstring
XkbComponentNamesRec {.final.} = object
  keymap*: ptr int16
  keycodes*: ptr int16
  types*: ptr int16
  compat*: ptr int16
  symbols*: ptr int16
  geometry*: ptr int16
XkbControlsChangesRec {.final.} = object
  changed_ctrls*: int16
  enabled_ctrls_changes*: int16
  num_groups_changed*: bool
XkbControlsRec {.final.} = object
  mk_dflt_btn*: int8
  num_groups*: int8
  groups_wrap*: int8
  internal*: XkbModsRec
  ignore_lock*: XkbModsRec
  enabled_ctrls*: int16
  repeat_delay*: int16
  repeat_interval*: int16
  slow_keys_delay*: int16
  debounce_delay*: int16
  mk_delay*: int16
  mk_interval*: int16
  mk_time_to_max*: int16
  mk_max_speed*: int16
  mk_curve*: int16
  ax_options*: int16
  ax_timeout*: int16
  axt_opts_mask*: int16
  axt_opts_values*: int16
  axt_ctrls_mask*: int16
  axt_ctrls_values*: int16
  per_key_repeat*: array[0 .. 32 - 1, int8]
XkbCtrlsAction {.final.} = object
  theType*: int8
  flags*: int8
  ctrls3*: int8
  ctrls2*: int8
  ctrls1*: int8
  ctrls0*: int8
XkbDescRec {.final.} = object
  dpy*: PDisplay
  flags*: int16
  device_spec*: int16
  min_key_code*: KeyCode
  max_key_code*: KeyCode
  ctrls*: PXkbControlsPtr
  server*: PXkbServerMapPtr
  map*: PXkbClientMapPtr
  indicators*: PXkbIndicatorPtr
  names*: PXkbNamesPtr
  compat*: PXkbCompatMapPtr
  geom*: PXkbGeometryPtr
XkbDeviceBtnAction {.final.} = object
  theType*: int8
  flags*: int8
  count*: int8
  button*: int8
  device*: int8
XkbDeviceChangesRec {.final.} = object
  changed*: int16
  first_btn*: int16
  num_btns*: int16
  leds*: XkbDeviceLedChangesRec
XkbDeviceInfoRec {.final.} = object
  name*: cstring
  theType*: Atom
  device_spec*: int16
  has_own_state*: bool
  supported*: int16
  unsupported*: int16
  num_btns*: int16
  btn_acts*: PXkbAction
  sz_leds*: int16
  num_leds*: int16
  dflt_kbd_fb*: int16
  dflt_led_fb*: int16
  leds*: PXkbDeviceLedInfoPtr
XkbDeviceLedChangesRec {.final.} = object
  led_class*: int16
  led_id*: int16
  defined*: int16
  next*: PXkbDeviceLedChangesPtr
XkbDeviceLedInfoRec {.final.} = object
  led_class*: int16
  led_id*: int16
  phys_indicators*: int16
  maps_present*: int16
  names_present*: int16
  state*: int16
  names*: array[0 .. 32 - 1, Atom]
  maps*: array[0 .. 32 - 1, XkbIndicatorMapRec]
XkbDeviceValuatorAction {.final.} = object
  theType*: int8
  device*: int8
  v1_what*: int8
  v1_ndx*: int8
  v1_value*: int8
  v2_what*: int8
  v2_ndx*: int8
  v2_value*: int8
XkbDoodadRec {.final.} = object
  any*: XkbAnyDoodadRec
  shape*: XkbShapeDoodadRec
  text*: XkbTextDoodadRec
  indicator*: XkbIndicatorDoodadRec
  logo*: XkbLogoDoodadRec
XkbGeometryRec {.final.} = object
  name*: Atom
  width_mm*: int16
  height_mm*: int16
  label_font*: cstring
  label_color*: PXkbColorPtr
  base_color*: PXkbColorPtr
  sz_properties*: int16
  sz_colors*: int16
  sz_shapes*: int16
  sz_sections*: int16
  sz_doodads*: int16
  sz_key_aliases*: int16
  num_properties*: int16
  num_colors*: int16
  num_shapes*: int16
  num_sections*: int16
  num_doodads*: int16
  num_key_aliases*: int16
  properties*: ptr array[0 .. 0x0000FFFF, XkbPropertyRec]
  colors*: ptr array[0 .. 0x0000FFFF, XkbColorRec]
  shapes*: ptr array[0 .. 0x0000FFFF, XkbShapeRec]
  sections*: ptr array[0 .. 0x0000FFFF, XkbSectionRec]
  key_aliases*: ptr array[0 .. 0x0000FFFF, XkbKeyAliasRec]
XkbGeometrySizesRec {.final.} = object
  which*: int16
  num_properties*: int16
  num_colors*: int16
  num_shapes*: int16
  num_sections*: int16
  num_doodads*: int16
  num_key_aliases*: int16
XkbGroupAction {.final.} = object
  theType*: int8
  flags*: int8
  group_XXX*: int8
XkbIndicatorChangesRec {.final.} = object
  state_changes*: int16
  map_changes*: int16
XkbIndicatorDoodadRec {.final.} = object
  name*: Atom
  theType*: int8
  priority*: int8
  top*: int16
  left*: int16
  angle*: int16
  shape_ndx*: int16
  on_color_ndx*: int16
  off_color_ndx*: int16
XkbIndicatorMapRec {.final.} = object
  flags*: int8
  which_groups*: int8
  groups*: int8
  which_mods*: int8
  mods*: XkbModsRec
  ctrls*: int16
XkbIndicatorRec {.final.} = object
  phys_indicators*: int32
  maps*: array[0 .. 32 - 1, XkbIndicatorMapRec]
XkbISOAction {.final.} = object
  theType*: int8
  flags*: int8
  mask*: int8
  real_mods*: int8
  group_XXX*: int8
  affect*: int8
  vmods1*: int8
  vmods2*: int8
XkbKeyAliasRec {.final.} = object
  float*: array[0 .. 4 - 1, char]
  alias*: array[0 .. 4 - 1, char]
XkbKeyNameRec {.final.} = object
  name*: array[0 .. 4 - 1, char]
XkbKeyRec {.final.} = object
  name*: XkbKeyNameRec
  gap*: int16
  shape_ndx*: int8
  color_ndx*: int8
XkbKeyTypeRec {.final.} = object
  mods*: XkbModsRec
  num_levels*: int8
  map_count*: int8
  map*: PXkbKTMapEntryPtr
  preserve*: PXkbModsPtr
  name*: Atom
  level_names*: Atom
XkbKTMapEntryRec {.final.} = object
  active*: bool
  level*: int8
  mods*: XkbModsRec
XkbLogoDoodadRec {.final.} = object
  name*: Atom
  theType*: int8
  priority*: int8
  top*: int16
  left*: int16
  angle*: int16
  color_ndx*: int16
  shape_ndx*: int16
  logo_name*: cstring
XkbMapChangesRec {.final.} = object
  changed*: int16
  min_key_code*: KeyCode
  max_key_code*: KeyCode
  first_type*: int8
  num_types*: int8
  first_key_sym*: KeyCode
  num_key_syms*: int8
  first_key_act*: KeyCode
  num_key_acts*: int8
  first_key_behavior*: KeyCode
  num_key_behaviors*: int8
  first_key_explicit*: KeyCode
  num_key_explicit*: int8
  first_modmap_key*: KeyCode
  num_modmap_keys*: int8
  first_vmodmap_key*: KeyCode
  num_vmodmap_keys*: int8
  pad*: int8
  vmods*: int16
XkbMessageAction {.final.} = object
  theType*: int8
  flags*: int8
  message*: array[0 .. 5, char]
XkbModAction {.final.} = object
  theType*: int8
  flags*: int8
  mask*: int8
  real_mods*: int8
  vmods1*: int8
  vmods2*: int8
XkbModsRec {.final.} = object
  mask*: int8
  real_mods*: int8
  vmods*: int16
XkbNameChangesRec {.final.} = object
  changed*: int16
  first_type*: int8
  num_types*: int8
  first_lvl*: int8
  num_lvls*: int8
  num_aliases*: int8
  num_rg*: int8
  first_key*: int8
  num_keys*: int8
  changed_vmods*: int16
  changed_indicators*: int32
  changed_groups*: int8
XkbNamesRec {.final.} = object
  keycodes*: Atom
  geometry*: Atom
  symbols*: Atom
  types*: Atom
  compat*: Atom
  vmods*: array[0 .. 16 - 1, Atom]
  indicators*: array[0 .. 32 - 1, Atom]
  groups*: array[0 .. 4 - 1, Atom]
  keys*: PXkbKeyNamePtr
  key_aliases*: PXkbKeyAliasPtr
  radio_groups*: PAtom
  phys_symbols*: Atom
  num_keys*: int8
  num_key_aliases*: int8
  num_rg*: int16
XkbOutlineRec {.final.} = object
  num_points*: int16
  sz_points*: int16
  corner_radius*: int16
  points*: PXkbPointPtr
XkbOverlayKeyRec {.final.} = object
  over*: XkbKeyNameRec
  under*: XkbKeyNameRec
XkbOverlayRec {.final.} = object
  name*: Atom
  section_under*: PXkbSectionPtr
  num_rows*: int16
  sz_rows*: int16
  rows*: PXkbOverlayRowPtr
  bounds*: PXkbBoundsPtr
XkbOverlayRowRec {.final.} = object
  row_under*: int16
  num_keys*: int16
  sz_keys*: int16
  keys*: PXkbOverlayKeyPtr
XkbPointRec {.final.} = object
  x*: int16
  y*: int16
XkbPropertyRec {.final.} = object
  name*: cstring
  value*: cstring
XkbPtrAction {.final.} = object
  theType*: int8
  flags*: int8
  high_XXX*: int8
  low_XXX*: int8
  high_YYY*: int8
  low_YYY*: int8
XkbPtrBtnAction {.final.} = object
  theType*: int8
  flags*: int8
  count*: int8
  button*: int8
XkbPtrDfltAction {.final.} = object
  theType*: int8
  flags*: int8
  affect*: int8
  valueXXX*: int8
XkbRedirectKeyAction {.final.} = object
  theType*: int8
  new_key*: int8
  mods_mask*: int8
  mods*: int8
  vmods_mask0*: int8
  vmods_mask1*: int8
  vmods0*: int8
  vmods1*: int8
XkbRowRec {.final.} = object
  top*: int16
  left*: int16
  num_keys*: int16
  sz_keys*: int16
  vertical*: int16
  Keys*: PXkbKeyPtr
  bounds*: XkbBoundsRec
XkbSectionRec {.final.} = object
  name*: Atom
  priority*: int8
  top*: int16
  left*: int16
  width*: int16
  height*: int16
  angle*: int16
  num_rows*: int16
  num_doodads*: int16
  num_overlays*: int16
  rows*: PXkbRowPtr
  doodads*: PXkbDoodadPtr
  bounds*: XkbBoundsRec
  overlays*: PXkbOverlayPtr
XkbServerMapRec {.final.} = object
  num_acts*: int16
  size_acts*: int16
  acts*: ptr array[0 .. 0x00000FFF, XkbAction]
  behaviors*: PXkbBehavior
  key_acts*: PWord
  explicit*: PByte
  vmods*: array[0 .. 16 - 1, int8]
  vmodmap*: PWord
XkbShapeDoodadRec {.final.} = object
  name*: Atom
  theType*: int8
  priority*: int8
  top*: int16
  left*: int16
  angle*: int16
  color_ndx*: int16
  shape_ndx*: int16
XkbShapeRec {.final.} = object
  name*: Atom
  num_outlines*: int16
  sz_outlines*: int16
  outlines*: ptr array[0 .. 0x0000FFFF, XkbOutlineRec]
  approx*: ptr array[0 .. 0x0000FFFF, XkbOutlineRec]
  primary*: ptr array[0 .. 0x0000FFFF, XkbOutlineRec]
  bounds*: XkbBoundsRec
XkbStateRec {.final.} = object
  group*: int8
  locked_group*: int8
  base_group*: int16
  latched_group*: int16
  mods*: int8
  base_mods*: int8
  latched_mods*: int8
  locked_mods*: int8
  compat_state*: int8
  grab_mods*: int8
  compat_grab_mods*: int8
  lookup_mods*: int8
  compat_lookup_mods*: int8
  ptr_buttons*: int16
XkbSwitchScreenAction {.final.} = object
  theType*: int8
  flags*: int8
  screenXXX*: int8
XkbSymInterpretRec {.final.} = object
  sym*: KeySym
  flags*: int8
  match*: int8
  mods*: int8
  virtual_mod*: int8
  act*: XkbAnyAction
XkbSymMapRec {.final.} = object
  kt_index*: array[0 .. 4 - 1, int8]
  group_info*: int8
  width*: int8
  offset*: int8
XkbTextDoodadRec {.final.} = object
  name*: Atom
  theType*: int8
  priority*: int8
  top*: int16
  left*: int16
  angle*: int16
  width*: int16
  height*: int16
  color_ndx*: int16
  text*: cstring
  font*: cstring

Consts

libX11 = "libX11.so(|.6)"
X_kbBell = 3
XkbAllBooleanCtrlsMask = 0x00001FFF
XkbAllCompatMask = 0x00000003
XkbAllComponentsMask = 0x0000007F
XkbAllControlEventsMask = 0x00000000F8001FFF'i64
XkbAllControlsMask = 0x00000000F8001FFF'i64
XkbAllEventsMask = 0x00000FFF
XkbAllExplicitMask = 0x000000FF
XkbAllGroups = 255
XkbAllGroupsMask = 0x0000000F
XkbAllIndicatorEventsMask = 0x00000000FFFFFFFF'i64
XkbAllIndicatorsMask = 0x00000000FFFFFFFF'i64
XkbAllModifiersMask = 0x000000FF
XkbAllNameEventsMask = 0x00003FFF
XkbAllNamesMask = 0x00003FFF
XkbAllRadioGroupsMask = 0x00000000FFFFFFFF'i64
XkbAllRequiredTypes = 0x0000000F
XkbAllStateEventsMask = 0x00003FFF
XkbAllVirtualModsMask = 0x0000FFFF
XkbAllXIClasses = 0x00000500
XkbAllXIIds = 0x00000600
XkbAnyGroup = 254
XkbAX_AllOptionsMask = 0x00000FFF
XkbAX_FBOptionsMask = 0x00000F3F
XkbAX_SKOptionsMask = 0x000000C0
XkbClampIntoRange = 0x00000040
XkbComponentNamesMask = 0x0000003F
XkbControlsEnabledMask = 2147483648
XkbDfltXIClass = 0x00000300
XkbDfltXIId = 0x00000400
XkbErr_BadClass = 0x000000FE
XkbErr_BadDevice = 0x000000FF
XkbErr_BadId = 0x000000FD
XkbGeomAllMask = 0x0000003F
XkbGroupsWrapMask = 134217728
XkbIgnoreLockModsMask = 536870912
XkbInternalModsMask = 268435456
XkbKB_Default = 0x00000000
XkbKB_Lock = 0x00000001
XkbKB_OpMask = 0x0000007F
XkbKB_Overlay1 = 0x00000003
XkbKB_Overlay2 = 0x00000004
XkbKB_Permanent = 0x00000080
XkbKB_RadioGroup = 0x00000002
XkbKB_RGAllowNone = 0x00000080
XkbName = "XKEYBOARD"
XkbNoIndicator = 0x000000FF
XkbNoModifier = 0x000000FF
XkbNoShape = 0x000000FF
XkbNoShiftLevel = 0x000000FF
XkbPCF_AllFlagsMask = 0x0000001F
XkbPerKeyRepeatMask = 1073741824
XkbRedirectIntoRange = 0x00000080
XkbSA_ActionMessage = 0x00000010
XkbSA_BreakLatch = 1045248
XkbSA_DeviceBtn = 0x00000012
XkbSA_DeviceValuator = 0x00000014
XkbSA_IgnoreVal = 0x00000000
XkbSA_ISOAffectMask = 0x00000078
XkbSA_ISOLock = 0x0000000B
XkbSA_LastAction = 0x00000014
XkbSA_LatchGroup = 0x00000005
XkbSA_LatchMods = 0x00000002
XkbSA_LockControls = 0x0000000F
XkbSA_LockDeviceBtn = 0x00000013
XkbSA_LockGroup = 0x00000006
XkbSA_LockMods = 0x00000003
XkbSA_LockPtrBtn = 0x00000009
XkbSA_MovePtr = 0x00000007
XkbSA_NoAction = 0x00000000
XkbSA_PtrBtn = 0x00000008
XkbSA_RedirectKey = 0x00000011
XkbSA_SetControls = 0x0000000E
XkbSA_SetGroup = 0x00000004
XkbSA_SetMods = 0x00000001
XkbSA_SetPtrDflt = 0x0000000A
XkbSA_SetValAbsolute = 0x00000050
XkbSA_SetValCenter = 0x00000020
XkbSA_SetValMax = 0x00000030
XkbSA_SetValMin = 0x00000010
XkbSA_SetValRelative = 0x00000040
XkbSA_SwitchScreen = 0x0000000D
XkbSA_Terminate = 0x0000000C
XkbSA_ValOpMask = 0x00000070
XkbSA_ValScaleMask = 0x00000007
XkbSA_XFree86Private = 0x00000086
XkbSI_LevelOneOnly = 0x00000080
XkbSI_OpMask = 0x0000007F
XkbUseCoreKbd = 0x00000100
XkbUseCorePtr = 0x00000200
XkbWrapIntoRange = 0x00000000
XkbXI_AllFeaturesMask = 0x0000001F
XkbXI_IndicatorsMask = 0x0000001C
XkbXINone = 0x0000FF00

Procs

proc Xkb2charsToInt(h, L: int8): int16 {....raises: [], tags: [], forbids: [].}
proc XkbActionCtrls(a: PXkbCtrlsAction): int16 {....raises: [], tags: [],
    forbids: [].}
proc XkbActionSetCtrls(a: PXkbCtrlsAction; c: int8) {....raises: [], tags: [],
    forbids: [].}
proc XkbAddGeomColor(geom: PXkbGeometryPtr; spec: cstring; pixel: int16): PXkbColorPtr {.
    cdecl, dynlib: libX11, importc: "XkbAddGeomColor", ...raises: [], tags: [],
    forbids: [].}
proc XkbAddGeomDoodad(geom: PXkbGeometryPtr; section: PXkbSectionPtr; name: Atom): PXkbDoodadPtr {.
    cdecl, dynlib: libX11, importc: "XkbAddGeomDoodad", ...raises: [], tags: [],
    forbids: [].}
proc XkbAddGeomKey(row: PXkbRowPtr): PXkbKeyPtr {.cdecl, dynlib: libX11,
    importc: "XkbAddGeomKey", ...raises: [], tags: [], forbids: [].}
proc XkbAddGeomKeyAlias(geom: PXkbGeometryPtr; alias: cstring; float: cstring): PXkbKeyAliasPtr {.
    cdecl, dynlib: libX11, importc: "XkbAddGeomKeyAlias", ...raises: [], tags: [],
    forbids: [].}
proc XkbAddGeomOutline(shape: PXkbShapePtr; sz_points: int16): PXkbOutlinePtr {.
    cdecl, dynlib: libX11, importc: "XkbAddGeomOutline", ...raises: [], tags: [],
    forbids: [].}
proc XkbAddGeomOverlay(section: PXkbSectionPtr; name: Atom; sz_rows: int16): PXkbOverlayPtr {.
    cdecl, dynlib: libX11, importc: "XkbAddGeomOverlay", ...raises: [], tags: [],
    forbids: [].}
proc XkbAddGeomOverlayKey(overlay: PXkbOverlayPtr; row: PXkbOverlayRowPtr;
                          over: cstring; under: cstring): PXkbOverlayKeyPtr {.
    cdecl, dynlib: libX11, importc: "XkbAddGeomOverlayKey", ...raises: [],
    tags: [], forbids: [].}
proc XkbAddGeomOverlayRow(overlay: PXkbOverlayPtr; row_under: int16;
                          sz_keys: int16): PXkbOverlayRowPtr {.cdecl,
    dynlib: libX11, importc: "XkbAddGeomOverlayRow", ...raises: [], tags: [],
    forbids: [].}
proc XkbAddGeomProperty(geom: PXkbGeometryPtr; name: cstring; value: cstring): PXkbPropertyPtr {.
    cdecl, dynlib: libX11, importc: "XkbAddGeomProperty", ...raises: [], tags: [],
    forbids: [].}
proc XkbAddGeomRow(section: PXkbSectionPtr; sz_keys: int16): PXkbRowPtr {.cdecl,
    dynlib: libX11, importc: "XkbAddGeomRow", ...raises: [], tags: [], forbids: [].}
proc XkbAddGeomSection(geom: PXkbGeometryPtr; name: Atom; sz_rows: int16;
                       sz_doodads: int16; sz_overlays: int16): PXkbSectionPtr {.
    cdecl, dynlib: libX11, importc: "XkbAddGeomSection", ...raises: [], tags: [],
    forbids: [].}
proc XkbAddGeomShape(geom: PXkbGeometryPtr; name: Atom; sz_outlines: int16): PXkbShapePtr {.
    cdecl, dynlib: libX11, importc: "XkbAddGeomShape", ...raises: [], tags: [],
    forbids: [].}
proc XkbAllocGeomColors(geom: PXkbGeometryPtr; nColors: int16): Status {.cdecl,
    dynlib: libX11, importc: "XkbAllocGeomColors", ...raises: [], tags: [],
    forbids: [].}
proc XkbAllocGeomDoodads(geom: PXkbGeometryPtr; nDoodads: int16): Status {.
    cdecl, dynlib: libX11, importc: "XkbAllocGeomDoodads", ...raises: [], tags: [],
    forbids: [].}
proc XkbAllocGeometry(xkb: PXkbDescPtr; sizes: PXkbGeometrySizesPtr): Status {.
    cdecl, dynlib: libX11, importc: "XkbAllocGeometry", ...raises: [], tags: [],
    forbids: [].}
proc XkbAllocGeomKeyAliases(geom: PXkbGeometryPtr; nAliases: int16): Status {.
    cdecl, dynlib: libX11, importc: "XkbAllocGeomKeyAliases", ...raises: [],
    tags: [], forbids: [].}
proc XkbAllocGeomKeys(row: PXkbRowPtr; nKeys: int16): Status {.cdecl,
    dynlib: libX11, importc: "XkbAllocGeomKeys", ...raises: [], tags: [],
    forbids: [].}
proc XkbAllocGeomOutlines(shape: PXkbShapePtr; nOL: int16): Status {.cdecl,
    dynlib: libX11, importc: "XkbAllocGeomOutlines", ...raises: [], tags: [],
    forbids: [].}
proc XkbAllocGeomOverlayKeys(row: PXkbOverlayRowPtr; num_needed: int16): Status {.
    cdecl, dynlib: libX11, importc: "XkbAllocGeomOverlayKeys", ...raises: [],
    tags: [], forbids: [].}
proc XkbAllocGeomOverlayRows(overlay: PXkbOverlayPtr; num_needed: int16): Status {.
    cdecl, dynlib: libX11, importc: "XkbAllocGeomOverlayRows", ...raises: [],
    tags: [], forbids: [].}
proc XkbAllocGeomOverlays(section: PXkbSectionPtr; num_needed: int16): Status {.
    cdecl, dynlib: libX11, importc: "XkbAllocGeomOverlays", ...raises: [],
    tags: [], forbids: [].}
proc XkbAllocGeomPoints(ol: PXkbOutlinePtr; nPts: int16): Status {.cdecl,
    dynlib: libX11, importc: "XkbAllocGeomPoints", ...raises: [], tags: [],
    forbids: [].}
proc XkbAllocGeomProps(geom: PXkbGeometryPtr; nProps: int16): Status {.cdecl,
    dynlib: libX11, importc: "XkbAllocGeomProps", ...raises: [], tags: [],
    forbids: [].}
proc XkbAllocGeomRows(section: PXkbSectionPtr; nRows: int16): Status {.cdecl,
    dynlib: libX11, importc: "XkbAllocGeomRows", ...raises: [], tags: [],
    forbids: [].}
proc XkbAllocGeomSectionDoodads(section: PXkbSectionPtr; nDoodads: int16): Status {.
    cdecl, dynlib: libX11, importc: "XkbAllocGeomSectionDoodads", ...raises: [],
    tags: [], forbids: [].}
proc XkbAllocGeomSections(geom: PXkbGeometryPtr; nSections: int16): Status {.
    cdecl, dynlib: libX11, importc: "XkbAllocGeomSections", ...raises: [],
    tags: [], forbids: [].}
proc XkbAllocGeomShapes(geom: PXkbGeometryPtr; nShapes: int16): Status {.cdecl,
    dynlib: libX11, importc: "XkbAllocGeomShapes", ...raises: [], tags: [],
    forbids: [].}
proc XkbAX_AnyFeedback(c: PXkbControlsPtr): int16 {....raises: [], tags: [],
    forbids: [].}
proc XkbAX_NeedFeedback(c: PXkbControlsPtr; w: int16): bool {....raises: [],
    tags: [], forbids: [].}
proc XkbAX_NeedOption(c: PXkbControlsPtr; w: int16): int16 {....raises: [],
    tags: [], forbids: [].}
proc XkbBoundsHeight(b: PXkbBoundsPtr): int16 {....raises: [], tags: [],
    forbids: [].}
proc XkbBoundsWidth(b: PXkbBoundsPtr): int16 {....raises: [], tags: [], forbids: [].}
proc XkbBuildCoreState(m, g: int): int {....raises: [], tags: [], forbids: [].}
proc XkbcharToInt(v: int8): int16 {....raises: [], tags: [], forbids: [].}
proc XkbCMKeyGroupInfo(m: PXkbClientMapPtr; k: int16): int8 {....raises: [],
    tags: [], forbids: [].}
proc XkbCMKeyGroupsWidth(m: PXkbClientMapPtr; k: int16): int8 {....raises: [],
    tags: [], forbids: [].}
proc XkbCMKeyGroupWidth(m: PXkbClientMapPtr; k: int16; g: int8): int8 {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc XkbCMKeyNumGroups(m: PXkbClientMapPtr; k: int16): int8 {....raises: [],
    tags: [], forbids: [].}
proc XkbCMKeyNumSyms(m: PXkbClientMapPtr; k: int16): int16 {....raises: [],
    tags: [], forbids: [].}
proc XkbCMKeySymsOffset(m: PXkbClientMapPtr; k: int16): int8 {....raises: [],
    tags: [], forbids: [].}
proc XkbCMKeySymsPtr(m: PXkbClientMapPtr; k: int16): PKeySym {....raises: [],
    tags: [], forbids: [].}
define XkbCMKeySymsPtr(m,k) (&(m)->symsXkbCMKeySymsOffset(m,k))
proc XkbCMKeyType(m: PXkbClientMapPtr; k: int16; g: int8): PXkbKeyTypePtr {.
    ...raises: [], tags: [], forbids: [].}
proc XkbCMKeyTypeIndex(m: PXkbClientMapPtr; k: int16; g: int8): int8 {.
    ...raises: [], tags: [], forbids: [].}
proc XkbComputeRowBounds(geom: PXkbGeometryPtr; section: PXkbSectionPtr;
                         row: PXkbRowPtr): bool {.cdecl, dynlib: libX11,
    importc: "XkbComputeRowBounds", ...raises: [], tags: [], forbids: [].}
proc XkbComputeSectionBounds(geom: PXkbGeometryPtr; section: PXkbSectionPtr): bool {.
    cdecl, dynlib: libX11, importc: "XkbComputeSectionBounds", ...raises: [],
    tags: [], forbids: [].}
proc XkbComputeShapeBounds(shape: PXkbShapePtr): bool {.cdecl, dynlib: libX11,
    importc: "XkbComputeShapeBounds", ...raises: [], tags: [], forbids: [].}
proc XkbComputeShapeTop(shape: PXkbShapePtr; bounds: PXkbBoundsPtr): bool {.
    cdecl, dynlib: libX11, importc: "XkbComputeShapeTop", ...raises: [], tags: [],
    forbids: [].}
proc XkbExplicitXIClass(c: int): bool {....raises: [], tags: [], forbids: [].}
proc XkbExplicitXIDevice(c: int): bool {....raises: [], tags: [], forbids: [].}
proc XkbExplicitXIId(c: int): bool {....raises: [], tags: [], forbids: [].}
proc XkbFindOverlayForKey(geom: PXkbGeometryPtr; wanted: PXkbSectionPtr;
                          under: cstring): cstring {.cdecl, dynlib: libX11,
    importc: "XkbFindOverlayForKey", ...raises: [], tags: [], forbids: [].}
proc XkbFreeGeomColors(geom: PXkbGeometryPtr; first: int16; count: int16;
                       freeAll: bool) {.cdecl, dynlib: libX11,
                                        importc: "XkbFreeGeomColors",
                                        ...raises: [], tags: [], forbids: [].}
proc XkbFreeGeomDoodads(doodads: PXkbDoodadPtr; nDoodads: int16; freeAll: bool) {.
    cdecl, dynlib: libX11, importc: "XkbFreeGeomDoodads", ...raises: [], tags: [],
    forbids: [].}
proc XkbFreeGeometry(geom: PXkbGeometryPtr; which: int16; freeMap: bool) {.
    cdecl, dynlib: libX11, importc: "XkbFreeGeometry", ...raises: [], tags: [],
    forbids: [].}
proc XkbFreeGeomKeyAliases(geom: PXkbGeometryPtr; first: int16; count: int16;
                           freeAll: bool) {.cdecl, dynlib: libX11,
    importc: "XkbFreeGeomKeyAliases", ...raises: [], tags: [], forbids: [].}
proc XkbFreeGeomKeys(row: PXkbRowPtr; first: int16; count: int16; freeAll: bool) {.
    cdecl, dynlib: libX11, importc: "XkbFreeGeomKeys", ...raises: [], tags: [],
    forbids: [].}
proc XkbFreeGeomOutlines(shape: PXkbShapePtr; first: int16; count: int16;
                         freeAll: bool) {.cdecl, dynlib: libX11,
    importc: "XkbFreeGeomOutlines", ...raises: [], tags: [], forbids: [].}
proc XkbFreeGeomOverlayKeys(row: PXkbOverlayRowPtr; first: int16; count: int16;
                            freeAll: bool) {.cdecl, dynlib: libX11,
    importc: "XkbFreeGeomOverlayKeys", ...raises: [], tags: [], forbids: [].}
proc XkbFreeGeomOverlayRows(overlay: PXkbOverlayPtr; first: int16; count: int16;
                            freeAll: bool) {.cdecl, dynlib: libX11,
    importc: "XkbFreeGeomOverlayRows", ...raises: [], tags: [], forbids: [].}
proc XkbFreeGeomOverlays(section: PXkbSectionPtr; first: int16; count: int16;
                         freeAll: bool) {.cdecl, dynlib: libX11,
    importc: "XkbFreeGeomOverlays", ...raises: [], tags: [], forbids: [].}
proc XkbFreeGeomPoints(outline: PXkbOutlinePtr; first: int16; count: int16;
                       freeAll: bool) {.cdecl, dynlib: libX11,
                                        importc: "XkbFreeGeomPoints",
                                        ...raises: [], tags: [], forbids: [].}
proc XkbFreeGeomProperties(geom: PXkbGeometryPtr; first: int16; count: int16;
                           freeAll: bool) {.cdecl, dynlib: libX11,
    importc: "XkbFreeGeomProperties", ...raises: [], tags: [], forbids: [].}
proc XkbFreeGeomRows(section: PXkbSectionPtr; first: int16; count: int16;
                     freeAll: bool) {.cdecl, dynlib: libX11,
                                      importc: "XkbFreeGeomRows", ...raises: [],
                                      tags: [], forbids: [].}
proc XkbFreeGeomSections(geom: PXkbGeometryPtr; first: int16; count: int16;
                         freeAll: bool) {.cdecl, dynlib: libX11,
    importc: "XkbFreeGeomSections", ...raises: [], tags: [], forbids: [].}
proc XkbFreeGeomShapes(geom: PXkbGeometryPtr; first: int16; count: int16;
                       freeAll: bool) {.cdecl, dynlib: libX11,
                                        importc: "XkbFreeGeomShapes",
                                        ...raises: [], tags: [], forbids: [].}
proc XkbGeomColorIndex(g: PXkbGeometryPtr; c: PXkbColorPtr): int32 {....raises: [],
    tags: [], forbids: [].}
proc XkbGetGeometryProc(dpy: PDisplay; xkb: PXkbDescPtr): Status {.cdecl,
    dynlib: libX11, importc: "XkbGetGeometry", ...raises: [], tags: [], forbids: [].}
proc XkbGetNamedGeometry(dpy: PDisplay; xkb: PXkbDescPtr; name: Atom): Status {.
    cdecl, dynlib: libX11, importc: "XkbGetNamedGeometry", ...raises: [], tags: [],
    forbids: [].}
proc XkbGrabStateFromRec(s: PXkbStatePtr): int {....raises: [], tags: [],
    forbids: [].}
proc XkbGroupForCoreState(s: int): int {....raises: [], tags: [], forbids: [].}
proc XkbGroupLock(s: PXkbStatePtr): int8 {....raises: [], tags: [], forbids: [].}
proc XkbIM_InUse(i: PXkbIndicatorMapPtr): bool {....raises: [], tags: [],
    forbids: [].}
proc XkbIM_IsAuto(i: PXkbIndicatorMapPtr): bool {....raises: [], tags: [],
    forbids: [].}
proc XkbIndicatorDoodadOffColor(g: PXkbGeometryPtr; d: PXkbIndicatorDoodadPtr): PXkbColorPtr {.
    ...raises: [], tags: [], forbids: [].}
proc XkbIndicatorDoodadOnColor(g: PXkbGeometryPtr; d: PXkbIndicatorDoodadPtr): PXkbColorPtr {.
    ...raises: [], tags: [], forbids: [].}
proc XkbIndicatorDoodadShape(g: PXkbGeometryPtr; d: PXkbIndicatorDoodadPtr): PXkbShapeDoodadPtr {.
    ...raises: [], tags: [], forbids: [].}
proc XkbIntTo2chars(i: int16; h, L: var int8) {....raises: [], tags: [],
    forbids: [].}
proc XkbIsGroupAction(a: PXkbAnyAction): bool {....raises: [], tags: [],
    forbids: [].}
proc XkbIsLegalGroup(g: int): bool {....raises: [], tags: [], forbids: [].}
proc XkbIsLegalKeycode(k: int): bool {....raises: [], tags: [], forbids: [].}
proc XkbIsModAction(a: PXkbAnyAction): bool {....raises: [], tags: [], forbids: [].}
proc XkbIsPtrAction(a: PXkbAnyAction): bool {....raises: [], tags: [], forbids: [].}
proc XkbKeyAction(d: PXkbDescPtr; k: int16; n: int16): PXkbAction {....raises: [],
    tags: [], forbids: [].}
proc XkbKeyActionEntry(d: PXkbDescPtr; k: int16; sl: int16; g: int8): int8 {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc XkbKeyActionsPtr(d: PXkbDescPtr; k: int16): PXkbAction {....raises: [],
    tags: [], forbids: [].}
proc XkbKeycodeInRange(d: PXkbDescPtr; k: int16): bool {....raises: [], tags: [],
    forbids: [].}
proc XkbKeyColor(g: PXkbGeometryPtr; k: PXkbKeyPtr): PXkbColorPtr {....raises: [],
    tags: [], forbids: [].}
proc XkbKeyGroupInfo(d: PXkbDescPtr; k: int16): int8 {....raises: [], tags: [],
    forbids: [].}
proc XkbKeyGroupsWidth(d: PXkbDescPtr; k: int16): int8 {....raises: [], tags: [],
    forbids: [].}
proc XkbKeyGroupWidth(d: PXkbDescPtr; k: int16; g: int8): int8 {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc XkbKeyHasActions(d: PXkbDescPtr; k: int16): bool {....raises: [], tags: [],
    forbids: [].}
proc XkbKeyKeyType(d: PXkbDescPtr; k: int16; g: int8): PXkbKeyTypePtr {.
    ...raises: [], tags: [], forbids: [].}
proc XkbKeyKeyTypeIndex(d: PXkbDescPtr; k: int16; g: int8): int8 {....raises: [],
    tags: [], forbids: [].}
proc XkbKeyNumActions(d: PXkbDescPtr; k: int16): int16 {....raises: [], tags: [],
    forbids: [].}
proc XkbKeyNumGroups(d: PXkbDescPtr; k: int16): int8 {....raises: [], tags: [],
    forbids: [].}
proc XkbKeyNumSyms(d: PXkbDescPtr; k: int16): int16 {....raises: [], tags: [],
    forbids: [].}
proc XkbKeyShape(g: PXkbGeometryPtr; k: PXkbKeyPtr): PXkbShapeDoodadPtr {.
    ...raises: [], tags: [], forbids: [].}
proc XkbKeySym(d: PXkbDescPtr; k: int16; n: int16): KeySym {....raises: [],
    tags: [], forbids: [].}
proc XkbKeySymEntry(d: PXkbDescPtr; k: int16; sl: int16; g: int8): KeySym {.
    ...raises: [], tags: [], forbids: [].}
proc XkbKeySymsPtr(d: PXkbDescPtr; k: int16): PKeySym {....raises: [], tags: [],
    forbids: [].}
define XkbKeySymsPtr(d,k) (XkbCMKeySymsPtr((d)->map,(k)))
proc XkbLegalXIBellClass(c: int): bool {....raises: [], tags: [], forbids: [].}
proc XkbLegalXILedClass(c: int): bool {....raises: [], tags: [], forbids: [].}
proc XkbLogoDoodadColor(g: PXkbGeometryPtr; d: PXkbLogoDoodadPtr): PXkbColorPtr {.
    ...raises: [], tags: [], forbids: [].}
proc XkbLogoDoodadShape(g: PXkbGeometryPtr; d: PXkbLogoDoodadPtr): PXkbShapeDoodadPtr {.
    ...raises: [], tags: [], forbids: [].}
proc XkbModActionVMods(a: PXkbModAction): int16 {....raises: [], tags: [],
    forbids: [].}
proc XkbModLocks(s: PXkbStatePtr): int8 {....raises: [], tags: [], forbids: [].}
proc XkbNumGroups(g: int16): int16 {....raises: [], tags: [], forbids: [].}
proc XkbNumKeys(d: PXkbDescPtr): int8 {....raises: [], tags: [], forbids: [].}
proc XkbOutlineIndex(s: PXkbShapePtr; o: PXkbOutlinePtr): int32 {....raises: [],
    tags: [], forbids: [].}
proc XkbOutOfRangeGroupAction(g: int16): int16 {....raises: [], tags: [],
    forbids: [].}
proc XkbOutOfRangeGroupInfo(g: int16): int16 {....raises: [], tags: [], forbids: [].}
proc XkbOutOfRangeGroupNumber(g: int16): int16 {....raises: [], tags: [],
    forbids: [].}
proc XkbPtrActionX(a: PXkbPtrAction): int16 {....raises: [], tags: [], forbids: [].}
proc XkbPtrActionY(a: PXkbPtrAction): int16 {....raises: [], tags: [], forbids: [].}
proc XkbSA_ValOp(a: int): int {....raises: [], tags: [], forbids: [].}
proc XkbSA_ValScale(a: int): int {....raises: [], tags: [], forbids: [].}
proc XkbSAGroup(a: PXkbGroupAction): int8 {....raises: [], tags: [], forbids: [].}
proc XkbSAPtrDfltValue(a: PXkbPtrDfltAction): int8 {....raises: [], tags: [],
    forbids: [].}
proc XkbSARedirectSetVMods(a: PXkbRedirectKeyAction; m: int8) {....raises: [],
    tags: [], forbids: [].}
proc XkbSARedirectSetVModsMask(a: PXkbRedirectKeyAction; m: int8) {....raises: [],
    tags: [], forbids: [].}
proc XkbSARedirectVMods(a: PXkbRedirectKeyAction): int16 {....raises: [], tags: [],
    forbids: [].}
proc XkbSARedirectVModsMask(a: PXkbRedirectKeyAction): int16 {....raises: [],
    tags: [], forbids: [].}
proc XkbSAScreen(a: PXkbSwitchScreenAction): int8 {....raises: [], tags: [],
    forbids: [].}
proc XkbSASetGroupProc(a: PXkbGroupAction; g: int8) {....raises: [], tags: [],
    forbids: [].}
proc XkbSASetPtrDfltValue(a: PXkbPtrDfltAction; c: pointer) {....raises: [],
    tags: [], forbids: [].}
proc XkbSASetScreen(a: PXkbSwitchScreenAction; s: pointer) {....raises: [],
    tags: [], forbids: [].}
proc XkbSetGeometryProc(dpy: PDisplay; deviceSpec: int16; geom: PXkbGeometryPtr): Status {.
    cdecl, dynlib: libX11, importc: "XkbSetGeometry", ...raises: [], tags: [],
    forbids: [].}
proc XkbSetGroupInfo(g, w, n: int16): int16 {....raises: [], tags: [], forbids: [].}
proc XkbSetIndicatorDoodadOffColor(g: PXkbGeometryPtr;
                                   d: PXkbIndicatorDoodadPtr; c: PXkbColorPtr) {.
    ...raises: [], tags: [], forbids: [].}
proc XkbSetIndicatorDoodadOnColor(g: PXkbGeometryPtr; d: PXkbIndicatorDoodadPtr;
                                  c: PXkbColorPtr) {....raises: [], tags: [],
    forbids: [].}
proc XkbSetIndicatorDoodadShape(g: PXkbGeometryPtr; d: PXkbIndicatorDoodadPtr;
                                s: PXkbShapeDoodadPtr) {....raises: [], tags: [],
    forbids: [].}
proc XkbSetKeyColor(g: PXkbGeometryPtr; k: PXkbKeyPtr; c: PXkbColorPtr) {.
    ...raises: [], tags: [], forbids: [].}
proc XkbSetKeyShape(g: PXkbGeometryPtr; k: PXkbKeyPtr; s: PXkbShapeDoodadPtr) {.
    ...raises: [], tags: [], forbids: [].}
proc XkbSetLogoDoodadColor(g: PXkbGeometryPtr; d: PXkbLogoDoodadPtr;
                           c: PXkbColorPtr) {....raises: [], tags: [], forbids: [].}
proc XkbSetLogoDoodadShape(g: PXkbGeometryPtr; d: PXkbLogoDoodadPtr;
                           s: PXkbShapeDoodadPtr) {....raises: [], tags: [],
    forbids: [].}
proc XkbSetModActionVMods(a: PXkbModAction; v: int8) {....raises: [], tags: [],
    forbids: [].}
proc XkbSetNumGroups(g, n: int16): int16 {....raises: [], tags: [], forbids: [].}
proc XkbSetPtrActionX(a: PXkbPtrAction; x: int8) {....raises: [], tags: [],
    forbids: [].}
proc XkbSetPtrActionY(a: PXkbPtrAction; y: int8) {....raises: [], tags: [],
    forbids: [].}
proc XkbSetShapeDoodadColor(g: PXkbGeometryPtr; d: PXkbShapeDoodadPtr;
                            c: PXkbColorPtr) {....raises: [], tags: [], forbids: [].}
proc XkbSetShapeDoodadShape(g: PXkbGeometryPtr; d: PXkbShapeDoodadPtr;
                            s: PXkbShapePtr) {....raises: [], tags: [], forbids: [].}
proc XkbSetTextDoodadColor(g: PXkbGeometryPtr; d: PXkbTextDoodadPtr;
                           c: PXkbColorPtr) {....raises: [], tags: [], forbids: [].}
proc XkbShapeDoodadColor(g: PXkbGeometryPtr; d: PXkbShapeDoodadPtr): PXkbColorPtr {.
    ...raises: [], tags: [], forbids: [].}
proc XkbShapeDoodadShape(g: PXkbGeometryPtr; d: PXkbShapeDoodadPtr): PXkbShapePtr {.
    ...raises: [], tags: [], forbids: [].}
proc XkbShiftLevel(n: int8): int8 {....raises: [], tags: [], forbids: [].}
proc XkbShiftLevelMask(n: int8): int8 {....raises: [], tags: [], forbids: [].}
proc XkbSingleXIClass(c: int): bool {....raises: [], tags: [], forbids: [].}
proc XkbSingleXIId(c: int): bool {....raises: [], tags: [], forbids: [].}
proc XkbSMKeyActionsPtr(m: PXkbServerMapPtr; k: int16): PXkbAction {....raises: [],
    tags: [], forbids: [].}
proc XkbStateFieldFromRec(s: PXkbStatePtr): int {....raises: [], tags: [],
    forbids: [].}
proc XkbStateGroup(s: PXkbStatePtr): int16 {....raises: [], tags: [], forbids: [].}
proc XkbStateMods(s: PXkbStatePtr): int16 {....raises: [], tags: [], forbids: [].}
proc XkbTextDoodadColor(g: PXkbGeometryPtr; d: PXkbTextDoodadPtr): PXkbColorPtr {.
    ...raises: [], tags: [], forbids: [].}
proc XkbXI_DevHasBtnActs(d: PXkbDeviceInfoPtr): bool {....raises: [], tags: [],
    forbids: [].}
proc XkbXI_DevHasLeds(d: PXkbDeviceInfoPtr): bool {....raises: [], tags: [],
    forbids: [].}
proc XkbXI_LegalDevBtn(d: PXkbDeviceInfoPtr; b: int16): bool {....raises: [],
    tags: [], forbids: [].}