mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-06 21:17:48 +00:00
Moved complex pragmas for xlib and cairo into separate included files. Fixed xkb bindings.
This commit is contained in:
@@ -47,20 +47,8 @@
|
||||
# By Luiz Am<41>rico Pereira C<>mara
|
||||
# October 2007
|
||||
#
|
||||
when defined(use_pkg_config) or defined(use_pkg_config_static):
|
||||
{.pragma: libcairo, cdecl.}
|
||||
when defined(use_pkg_config_static):
|
||||
{.passl: gorge("pkg-config cairo --libs --static").}
|
||||
else:
|
||||
{.passl: gorge("pkg-config cairo --libs").}
|
||||
else:
|
||||
when defined(windows):
|
||||
const LIB_CAIRO* = "libcairo-2.dll"
|
||||
elif defined(macosx):
|
||||
const LIB_CAIRO* = "libcairo.dylib"
|
||||
else:
|
||||
const LIB_CAIRO* = "libcairo.so(|.2)"
|
||||
{.pragma: libcairo, cdecl, dynlib: LIB_CAIRO.}
|
||||
|
||||
include "cairo_pragma.nim"
|
||||
|
||||
type
|
||||
PByte = cstring
|
||||
|
||||
16
lib/wrappers/cairo/cairo_pragma.nim
Normal file
16
lib/wrappers/cairo/cairo_pragma.nim
Normal file
@@ -0,0 +1,16 @@
|
||||
# included by cairo bindings
|
||||
|
||||
when defined(use_pkg_config) or defined(use_pkg_config_static):
|
||||
{.pragma: libcairo, cdecl.}
|
||||
when defined(use_pkg_config_static):
|
||||
{.passl: gorge("pkg-config cairo --libs --static").}
|
||||
else:
|
||||
{.passl: gorge("pkg-config cairo --libs").}
|
||||
else:
|
||||
when defined(windows):
|
||||
const LIB_CAIRO* = "libcairo-2.dll"
|
||||
elif defined(macosx):
|
||||
const LIB_CAIRO* = "libcairo.dylib"
|
||||
else:
|
||||
const LIB_CAIRO* = "libcairo.so(|.2)"
|
||||
{.pragma: libcairo, cdecl, dynlib: LIB_CAIRO.}
|
||||
@@ -7,6 +7,7 @@
|
||||
import
|
||||
cairo, freetypeh
|
||||
|
||||
include "cairo_pragma.nim"
|
||||
#todo: properly define FcPattern:
|
||||
#It will require translate FontConfig header
|
||||
|
||||
@@ -23,13 +24,13 @@ type
|
||||
FcPattern* = Pointer
|
||||
PFcPattern* = ptr FcPattern
|
||||
|
||||
proc ft_font_face_create_for_pattern*(pattern: PFcPattern): PFontFace{.cdecl,
|
||||
importc: "cairo_ft_font_face_create_for_pattern", dynlib: LIB_CAIRO.}
|
||||
proc ft_font_face_create_for_pattern*(pattern: PFcPattern): PFontFace{.libcairo,
|
||||
importc: "cairo_ft_font_face_create_for_pattern".}
|
||||
proc ft_font_options_substitute*(options: PFontOptions, pattern: PFcPattern){.
|
||||
cdecl, importc: "cairo_ft_font_options_substitute", dynlib: LIB_CAIRO.}
|
||||
proc ft_font_face_create_for_ft_face*(face: TFT_Face, load_flags: int32): PFontFace{.
|
||||
cdecl, importc: "cairo_ft_font_face_create_for_ft_face", dynlib: LIB_CAIRO.}
|
||||
proc ft_scaled_font_lock_face*(scaled_font: PScaledFont): TFT_Face{.cdecl,
|
||||
importc: "cairo_ft_scaled_font_lock_face", dynlib: LIB_CAIRO.}
|
||||
proc ft_scaled_font_unlock_face*(scaled_font: PScaledFont){.cdecl,
|
||||
importc: "cairo_ft_scaled_font_unlock_face", dynlib: LIB_CAIRO.}
|
||||
libcairo, importc: "cairo_ft_font_options_substitute".}
|
||||
proc ft_font_face_create_for_ft_face*(face: TFT_Face, load_flags: int32): PFontFace{.libcairo,
|
||||
importc: "cairo_ft_font_face_create_for_ft_face".}
|
||||
proc ft_scaled_font_lock_face*(scaled_font: PScaledFont): TFT_Face{.libcairo,
|
||||
importc: "cairo_ft_scaled_font_lock_face".}
|
||||
proc ft_scaled_font_unlock_face*(scaled_font: PScaledFont){.libcairo,
|
||||
importc: "cairo_ft_scaled_font_unlock_face".}
|
||||
|
||||
@@ -7,17 +7,7 @@
|
||||
import
|
||||
cairo, x, xlib, xrender
|
||||
|
||||
when defined(use_pkg_config) or defined(use_pkg_config_static):
|
||||
{.pragma: libcairo, cdecl.}
|
||||
else:
|
||||
when defined(windows):
|
||||
const LIB_CAIRO* = "libcairo-2.dll"
|
||||
elif defined(macosx):
|
||||
const LIB_CAIRO* = "libcairo.dylib"
|
||||
else:
|
||||
const LIB_CAIRO* = "libcairo.so(|.2)"
|
||||
{.pragma: libcairo, cdecl, dynlib: LIB_CAIRO.}
|
||||
|
||||
include "cairo_pragma.nim"
|
||||
|
||||
proc xlib_surface_create*(dpy: PDisplay, drawable: TDrawable, visual: PVisual,
|
||||
width, height: int32): PSurface{.cdecl,
|
||||
|
||||
20
lib/wrappers/x11/x11pragma.nim
Normal file
20
lib/wrappers/x11/x11pragma.nim
Normal file
@@ -0,0 +1,20 @@
|
||||
# included from xlib bindings
|
||||
|
||||
|
||||
when defined(use_pkg_config) or defined(use_pkg_config_static):
|
||||
{.pragma: libx11, cdecl, importc.}
|
||||
{.pragma: libx11c, cdecl.}
|
||||
when defined(use_pkg_config_static):
|
||||
{.passl: gorge("pkg-config x11 --static --libs").}
|
||||
else:
|
||||
{.passl: gorge("pkg-config x11 --libs").}
|
||||
else:
|
||||
when defined(macosx):
|
||||
const
|
||||
libX11* = "libX11.dylib"
|
||||
else:
|
||||
const
|
||||
libX11* = "libX11.so"
|
||||
|
||||
{.pragma: libx11, cdecl, dynlib: libX11, importc.}
|
||||
{.pragma: libx11c, cdecl, dynlib: libX11.}
|
||||
@@ -71,6 +71,8 @@
|
||||
import
|
||||
X, Xlib
|
||||
|
||||
include "x11pragma.nim"
|
||||
|
||||
proc XkbCharToInt*(v: int8): int16
|
||||
proc XkbIntTo2Chars*(i: int16, h, L: var int8)
|
||||
proc Xkb2CharsToInt*(h, L: int8): int16
|
||||
@@ -1700,224 +1702,200 @@ proc XkbSetKeyShape*(g: PXkbGeometryPtr, k: PXkbKeyPtr, s: PXkbShapeDoodadPtr)
|
||||
proc XkbSetKeyColor*(g: PXkbGeometryPtr, k: PXkbKeyPtr, c: PXkbColorPtr)
|
||||
proc XkbGeomColorIndex*(g: PXkbGeometryPtr, c: PXkbColorPtr): int32
|
||||
proc XkbAddGeomProperty*(geom: PXkbGeometryPtr, name: cstring, value: cstring): PXkbPropertyPtr{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAddGeomProperty".}
|
||||
libx11c, importc: "XkbAddGeomProperty".}
|
||||
proc XkbAddGeomKeyAlias*(geom: PXkbGeometryPtr, alias: cstring, float: cstring): PXkbKeyAliasPtr{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAddGeomKeyAlias".}
|
||||
libx11c, importc: "XkbAddGeomKeyAlias".}
|
||||
proc XkbAddGeomColor*(geom: PXkbGeometryPtr, spec: cstring, pixel: int16): PXkbColorPtr{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAddGeomColor".}
|
||||
libx11c, importc: "XkbAddGeomColor".}
|
||||
proc XkbAddGeomOutline*(shape: PXkbShapePtr, sz_points: int16): PXkbOutlinePtr{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAddGeomOutline".}
|
||||
libx11c, importc: "XkbAddGeomOutline".}
|
||||
proc XkbAddGeomShape*(geom: PXkbGeometryPtr, name: TAtom, sz_outlines: int16): PXkbShapePtr{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAddGeomShape".}
|
||||
proc XkbAddGeomKey*(row: PXkbRowPtr): PXkbKeyPtr{.cdecl, dynlib: libX11,
|
||||
libx11c, importc: "XkbAddGeomShape".}
|
||||
proc XkbAddGeomKey*(row: PXkbRowPtr): PXkbKeyPtr{.libx11c,
|
||||
importc: "XkbAddGeomKey".}
|
||||
proc XkbAddGeomRow*(section: PXkbSectionPtr, sz_keys: int16): PXkbRowPtr{.cdecl,
|
||||
dynlib: libX11, importc: "XkbAddGeomRow".}
|
||||
proc XkbAddGeomRow*(section: PXkbSectionPtr, sz_keys: int16): PXkbRowPtr{.libx11c, importc: "XkbAddGeomRow".}
|
||||
proc XkbAddGeomSection*(geom: PXkbGeometryPtr, name: TAtom, sz_rows: int16,
|
||||
sz_doodads: int16, sz_overlays: int16): PXkbSectionPtr{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAddGeomSection".}
|
||||
libx11c, importc: "XkbAddGeomSection".}
|
||||
proc XkbAddGeomOverlay*(section: PXkbSectionPtr, name: TAtom, sz_rows: int16): PXkbOverlayPtr{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAddGeomOverlay".}
|
||||
libx11c, importc: "XkbAddGeomOverlay".}
|
||||
proc XkbAddGeomOverlayRow*(overlay: PXkbOverlayPtr, row_under: int16,
|
||||
sz_keys: int16): PXkbOverlayRowPtr{.cdecl,
|
||||
dynlib: libX11, importc: "XkbAddGeomOverlayRow".}
|
||||
sz_keys: int16): PXkbOverlayRowPtr{.libx11c, importc: "XkbAddGeomOverlayRow".}
|
||||
proc XkbAddGeomOverlayKey*(overlay: PXkbOverlayPtr, row: PXkbOverlayRowPtr,
|
||||
over: cstring, under: cstring): PXkbOverlayKeyPtr{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAddGeomOverlayKey".}
|
||||
libx11c, importc: "XkbAddGeomOverlayKey".}
|
||||
proc XkbAddGeomDoodad*(geom: PXkbGeometryPtr, section: PXkbSectionPtr,
|
||||
name: TAtom): PXkbDoodadPtr{.cdecl, dynlib: libX11,
|
||||
name: TAtom): PXkbDoodadPtr{.libx11c,
|
||||
importc: "XkbAddGeomDoodad".}
|
||||
proc XkbFreeGeomKeyAliases*(geom: PXkbGeometryPtr, first: int16, count: int16,
|
||||
freeAll: bool){.cdecl, dynlib: libX11,
|
||||
freeAll: bool){.libx11c,
|
||||
importc: "XkbFreeGeomKeyAliases".}
|
||||
proc XkbFreeGeomColors*(geom: PXkbGeometryPtr, first: int16, count: int16,
|
||||
freeAll: bool){.cdecl, dynlib: libX11,
|
||||
freeAll: bool){.libx11c,
|
||||
importc: "XkbFreeGeomColors".}
|
||||
proc XkbFreeGeomDoodads*(doodads: PXkbDoodadPtr, nDoodads: int16, freeAll: bool){.
|
||||
cdecl, dynlib: libX11, importc: "XkbFreeGeomDoodads".}
|
||||
libx11c, importc: "XkbFreeGeomDoodads".}
|
||||
proc XkbFreeGeomProperties*(geom: PXkbGeometryPtr, first: int16, count: int16,
|
||||
freeAll: bool){.cdecl, dynlib: libX11,
|
||||
freeAll: bool){.libx11c,
|
||||
importc: "XkbFreeGeomProperties".}
|
||||
proc XkbFreeGeomOverlayKeys*(row: PXkbOverlayRowPtr, first: int16, count: int16,
|
||||
freeAll: bool){.cdecl, dynlib: libX11,
|
||||
freeAll: bool){.libx11c,
|
||||
importc: "XkbFreeGeomOverlayKeys".}
|
||||
proc XkbFreeGeomOverlayRows*(overlay: PXkbOverlayPtr, first: int16,
|
||||
count: int16, freeAll: bool){.cdecl,
|
||||
dynlib: libX11, importc: "XkbFreeGeomOverlayRows".}
|
||||
count: int16, freeAll: bool){.libx11c, importc: "XkbFreeGeomOverlayRows".}
|
||||
proc XkbFreeGeomOverlays*(section: PXkbSectionPtr, first: int16, count: int16,
|
||||
freeAll: bool){.cdecl, dynlib: libX11,
|
||||
freeAll: bool){.libx11c,
|
||||
importc: "XkbFreeGeomOverlays".}
|
||||
proc XkbFreeGeomKeys*(row: PXkbRowPtr, first: int16, count: int16, freeAll: bool){.
|
||||
cdecl, dynlib: libX11, importc: "XkbFreeGeomKeys".}
|
||||
libx11c, importc: "XkbFreeGeomKeys".}
|
||||
proc XkbFreeGeomRows*(section: PXkbSectionPtr, first: int16, count: int16,
|
||||
freeAll: bool){.cdecl, dynlib: libX11,
|
||||
freeAll: bool){.libx11c,
|
||||
importc: "XkbFreeGeomRows".}
|
||||
proc XkbFreeGeomSections*(geom: PXkbGeometryPtr, first: int16, count: int16,
|
||||
freeAll: bool){.cdecl, dynlib: libX11,
|
||||
freeAll: bool){.libx11c,
|
||||
importc: "XkbFreeGeomSections".}
|
||||
proc XkbFreeGeomPoints*(outline: PXkbOutlinePtr, first: int16, count: int16,
|
||||
freeAll: bool){.cdecl, dynlib: libX11,
|
||||
freeAll: bool){.libx11c,
|
||||
importc: "XkbFreeGeomPoints".}
|
||||
proc XkbFreeGeomOutlines*(shape: PXkbShapePtr, first: int16, count: int16,
|
||||
freeAll: bool){.cdecl, dynlib: libX11,
|
||||
freeAll: bool){.libx11c,
|
||||
importc: "XkbFreeGeomOutlines".}
|
||||
proc XkbFreeGeomShapes*(geom: PXkbGeometryPtr, first: int16, count: int16,
|
||||
freeAll: bool){.cdecl, dynlib: libX11,
|
||||
freeAll: bool){.libx11c,
|
||||
importc: "XkbFreeGeomShapes".}
|
||||
proc XkbFreeGeometry*(geom: PXkbGeometryPtr, which: int16, freeMap: bool){.
|
||||
cdecl, dynlib: libX11, importc: "XkbFreeGeometry".}
|
||||
proc XkbAllocGeomProps*(geom: PXkbGeometryPtr, nProps: int16): TStatus{.cdecl,
|
||||
dynlib: libX11, importc: "XkbAllocGeomProps".}
|
||||
libx11c, importc: "XkbFreeGeometry".}
|
||||
proc XkbAllocGeomProps*(geom: PXkbGeometryPtr, nProps: int16): TStatus{.libx11c, importc: "XkbAllocGeomProps".}
|
||||
proc XkbAllocGeomKeyAliases*(geom: PXkbGeometryPtr, nAliases: int16): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAllocGeomKeyAliases".}
|
||||
proc XkbAllocGeomColors*(geom: PXkbGeometryPtr, nColors: int16): TStatus{.cdecl,
|
||||
dynlib: libX11, importc: "XkbAllocGeomColors".}
|
||||
proc XkbAllocGeomShapes*(geom: PXkbGeometryPtr, nShapes: int16): TStatus{.cdecl,
|
||||
dynlib: libX11, importc: "XkbAllocGeomShapes".}
|
||||
libx11c, importc: "XkbAllocGeomKeyAliases".}
|
||||
proc XkbAllocGeomColors*(geom: PXkbGeometryPtr, nColors: int16): TStatus{.libx11c, importc: "XkbAllocGeomColors".}
|
||||
proc XkbAllocGeomShapes*(geom: PXkbGeometryPtr, nShapes: int16): TStatus{.libx11c, importc: "XkbAllocGeomShapes".}
|
||||
proc XkbAllocGeomSections*(geom: PXkbGeometryPtr, nSections: int16): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAllocGeomSections".}
|
||||
libx11c, importc: "XkbAllocGeomSections".}
|
||||
proc XkbAllocGeomOverlays*(section: PXkbSectionPtr, num_needed: int16): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAllocGeomOverlays".}
|
||||
libx11c, importc: "XkbAllocGeomOverlays".}
|
||||
proc XkbAllocGeomOverlayRows*(overlay: PXkbOverlayPtr, num_needed: int16): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAllocGeomOverlayRows".}
|
||||
libx11c, importc: "XkbAllocGeomOverlayRows".}
|
||||
proc XkbAllocGeomOverlayKeys*(row: PXkbOverlayRowPtr, num_needed: int16): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAllocGeomOverlayKeys".}
|
||||
libx11c, importc: "XkbAllocGeomOverlayKeys".}
|
||||
proc XkbAllocGeomDoodads*(geom: PXkbGeometryPtr, nDoodads: int16): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAllocGeomDoodads".}
|
||||
libx11c, importc: "XkbAllocGeomDoodads".}
|
||||
proc XkbAllocGeomSectionDoodads*(section: PXkbSectionPtr, nDoodads: int16): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAllocGeomSectionDoodads".}
|
||||
proc XkbAllocGeomOutlines*(shape: PXkbShapePtr, nOL: int16): TStatus{.cdecl,
|
||||
dynlib: libX11, importc: "XkbAllocGeomOutlines".}
|
||||
proc XkbAllocGeomRows*(section: PXkbSectionPtr, nRows: int16): TStatus{.cdecl,
|
||||
dynlib: libX11, importc: "XkbAllocGeomRows".}
|
||||
proc XkbAllocGeomPoints*(ol: PXkbOutlinePtr, nPts: int16): TStatus{.cdecl,
|
||||
dynlib: libX11, importc: "XkbAllocGeomPoints".}
|
||||
proc XkbAllocGeomKeys*(row: PXkbRowPtr, nKeys: int16): TStatus{.cdecl,
|
||||
dynlib: libX11, importc: "XkbAllocGeomKeys".}
|
||||
libx11c, importc: "XkbAllocGeomSectionDoodads".}
|
||||
proc XkbAllocGeomOutlines*(shape: PXkbShapePtr, nOL: int16): TStatus{.libx11c, importc: "XkbAllocGeomOutlines".}
|
||||
proc XkbAllocGeomRows*(section: PXkbSectionPtr, nRows: int16): TStatus{.libx11c, importc: "XkbAllocGeomRows".}
|
||||
proc XkbAllocGeomPoints*(ol: PXkbOutlinePtr, nPts: int16): TStatus{.libx11c, importc: "XkbAllocGeomPoints".}
|
||||
proc XkbAllocGeomKeys*(row: PXkbRowPtr, nKeys: int16): TStatus{.libx11c, importc: "XkbAllocGeomKeys".}
|
||||
proc XkbAllocGeometry*(xkb: PXkbDescPtr, sizes: PXkbGeometrySizesPtr): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAllocGeometry".}
|
||||
libx11c, importc: "XkbAllocGeometry".}
|
||||
proc XkbSetGeometryProc*(dpy: PDisplay, deviceSpec: int16, geom: PXkbGeometryPtr): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbSetGeometry".}
|
||||
libx11c, importc: "XkbSetGeometry".}
|
||||
proc XkbComputeShapeTop*(shape: PXkbShapePtr, bounds: PXkbBoundsPtr): bool{.
|
||||
cdecl, dynlib: libX11, importc: "XkbComputeShapeTop".}
|
||||
proc XkbComputeShapeBounds*(shape: PXkbShapePtr): bool{.cdecl, dynlib: libX11,
|
||||
libx11c, importc: "XkbComputeShapeTop".}
|
||||
proc XkbComputeShapeBounds*(shape: PXkbShapePtr): bool{.libx11c,
|
||||
importc: "XkbComputeShapeBounds".}
|
||||
proc XkbComputeRowBounds*(geom: PXkbGeometryPtr, section: PXkbSectionPtr,
|
||||
row: PXkbRowPtr): bool{.cdecl, dynlib: libX11,
|
||||
row: PXkbRowPtr): bool{.libx11c,
|
||||
importc: "XkbComputeRowBounds".}
|
||||
proc XkbComputeSectionBounds*(geom: PXkbGeometryPtr, section: PXkbSectionPtr): bool{.
|
||||
cdecl, dynlib: libX11, importc: "XkbComputeSectionBounds".}
|
||||
libx11c, importc: "XkbComputeSectionBounds".}
|
||||
proc XkbFindOverlayForKey*(geom: PXkbGeometryPtr, wanted: PXkbSectionPtr,
|
||||
under: cstring): cstring{.cdecl, dynlib: libX11,
|
||||
under: cstring): cstring{.libx11c,
|
||||
importc: "XkbFindOverlayForKey".}
|
||||
proc XkbGetGeometryProc*(dpy: PDisplay, xkb: PXkbDescPtr): TStatus{.cdecl,
|
||||
dynlib: libX11, importc: "XkbGetGeometry".}
|
||||
proc XkbGetGeometryProc*(dpy: PDisplay, xkb: PXkbDescPtr): TStatus{.libx11c, importc: "XkbGetGeometry".}
|
||||
proc XkbGetNamedGeometry*(dpy: PDisplay, xkb: PXkbDescPtr, name: TAtom): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbGetNamedGeometry".}
|
||||
libx11c, importc: "XkbGetNamedGeometry".}
|
||||
when defined(XKB_IN_SERVER):
|
||||
proc SrvXkbAddGeomKeyAlias*(geom: PXkbGeometryPtr, alias: cstring,
|
||||
float: cstring): PXkbKeyAliasPtr{.cdecl,
|
||||
dynlib: libX11, importc: "XkbAddGeomKeyAlias".}
|
||||
float: cstring): PXkbKeyAliasPtr{.libx11c, importc: "XkbAddGeomKeyAlias".}
|
||||
proc SrvXkbAddGeomColor*(geom: PXkbGeometryPtr, spec: cstring, pixel: int16): PXkbColorPtr{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAddGeomColor".}
|
||||
libx11c, importc: "XkbAddGeomColor".}
|
||||
proc SrvXkbAddGeomDoodad*(geom: PXkbGeometryPtr, section: PXkbSectionPtr,
|
||||
name: TAtom): PXkbDoodadPtr{.cdecl, dynlib: libX11,
|
||||
name: TAtom): PXkbDoodadPtr{.libx11c,
|
||||
importc: "XkbAddGeomDoodad".}
|
||||
proc SrvXkbAddGeomKey*(geom: PXkbGeometryPtr, alias: cstring, float: cstring): PXkbKeyAliasPtr{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAddGeomKeyAlias".}
|
||||
libx11c, importc: "XkbAddGeomKeyAlias".}
|
||||
proc SrvXkbAddGeomOutline*(shape: PXkbShapePtr, sz_points: int16): PXkbOutlinePtr{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAddGeomOutline".}
|
||||
libx11c, importc: "XkbAddGeomOutline".}
|
||||
proc SrvXkbAddGeomOverlay*(overlay: PXkbOverlayPtr, row: PXkbOverlayRowPtr,
|
||||
over: cstring, under: cstring): PXkbOverlayKeyPtr{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAddGeomOverlayKey".}
|
||||
libx11c, importc: "XkbAddGeomOverlayKey".}
|
||||
proc SrvXkbAddGeomOverlayRow*(overlay: PXkbOverlayPtr, row_under: int16,
|
||||
sz_keys: int16): PXkbOverlayRowPtr{.cdecl,
|
||||
dynlib: libX11, importc: "XkbAddGeomOverlayRow".}
|
||||
sz_keys: int16): PXkbOverlayRowPtr{.libx11c, importc: "XkbAddGeomOverlayRow".}
|
||||
proc SrvXkbAddGeomOverlayKey*(overlay: PXkbOverlayPtr, row: PXkbOverlayRowPtr,
|
||||
over: cstring, under: cstring): PXkbOverlayKeyPtr{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAddGeomOverlayKey".}
|
||||
libx11c, importc: "XkbAddGeomOverlayKey".}
|
||||
proc SrvXkbAddGeomProperty*(geom: PXkbGeometryPtr, name: cstring,
|
||||
value: cstring): PXkbPropertyPtr{.cdecl,
|
||||
dynlib: libX11, importc: "XkbAddGeomProperty".}
|
||||
value: cstring): PXkbPropertyPtr{.libx11c, importc: "XkbAddGeomProperty".}
|
||||
proc SrvXkbAddGeomRow*(section: PXkbSectionPtr, sz_keys: int16): PXkbRowPtr{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAddGeomRow".}
|
||||
libx11c, importc: "XkbAddGeomRow".}
|
||||
proc SrvXkbAddGeomSection*(geom: PXkbGeometryPtr, name: TAtom, sz_rows: int16,
|
||||
sz_doodads: int16, sz_overlays: int16): PXkbSectionPtr{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAddGeomSection".}
|
||||
libx11c, importc: "XkbAddGeomSection".}
|
||||
proc SrvXkbAddGeomShape*(geom: PXkbGeometryPtr, name: TAtom,
|
||||
sz_outlines: int16): PXkbShapePtr{.cdecl,
|
||||
dynlib: libX11, importc: "XkbAddGeomShape".}
|
||||
sz_outlines: int16): PXkbShapePtr{.libx11c, importc: "XkbAddGeomShape".}
|
||||
proc SrvXkbAllocGeomKeyAliases*(geom: PXkbGeometryPtr, nAliases: int16): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAllocGeomKeyAliases".}
|
||||
libx11c, importc: "XkbAllocGeomKeyAliases".}
|
||||
proc SrvXkbAllocGeomColors*(geom: PXkbGeometryPtr, nColors: int16): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAllocGeomColors".}
|
||||
libx11c, importc: "XkbAllocGeomColors".}
|
||||
proc SrvXkbAllocGeomDoodads*(geom: PXkbGeometryPtr, nDoodads: int16): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAllocGeomDoodads".}
|
||||
proc SrvXkbAllocGeomKeys*(row: PXkbRowPtr, nKeys: int16): TStatus{.cdecl,
|
||||
dynlib: libX11, importc: "XkbAllocGeomKeys".}
|
||||
libx11c, importc: "XkbAllocGeomDoodads".}
|
||||
proc SrvXkbAllocGeomKeys*(row: PXkbRowPtr, nKeys: int16): TStatus{.libx11c, importc: "XkbAllocGeomKeys".}
|
||||
proc SrvXkbAllocGeomOutlines*(shape: PXkbShapePtr, nOL: int16): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAllocGeomOutlines".}
|
||||
proc SrvXkbAllocGeomPoints*(ol: PXkbOutlinePtr, nPts: int16): TStatus{.cdecl,
|
||||
dynlib: libX11, importc: "XkbAllocGeomPoints".}
|
||||
libx11c, importc: "XkbAllocGeomOutlines".}
|
||||
proc SrvXkbAllocGeomPoints*(ol: PXkbOutlinePtr, nPts: int16): TStatus{.libx11c, importc: "XkbAllocGeomPoints".}
|
||||
proc SrvXkbAllocGeomProps*(geom: PXkbGeometryPtr, nProps: int16): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAllocGeomProps".}
|
||||
libx11c, importc: "XkbAllocGeomProps".}
|
||||
proc SrvXkbAllocGeomRows*(section: PXkbSectionPtr, nRows: int16): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAllocGeomRows".}
|
||||
libx11c, importc: "XkbAllocGeomRows".}
|
||||
proc SrvXkbAllocGeomSectionDoodads*(section: PXkbSectionPtr, nDoodads: int16): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAllocGeomSectionDoodads".}
|
||||
libx11c, importc: "XkbAllocGeomSectionDoodads".}
|
||||
proc SrvXkbAllocGeomSections*(geom: PXkbGeometryPtr, nSections: int16): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAllocGeomSections".}
|
||||
libx11c, importc: "XkbAllocGeomSections".}
|
||||
proc SrvXkbAllocGeomOverlays*(section: PXkbSectionPtr, num_needed: int16): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAllocGeomOverlays".}
|
||||
libx11c, importc: "XkbAllocGeomOverlays".}
|
||||
proc SrvXkbAllocGeomOverlayRows*(overlay: PXkbOverlayPtr, num_needed: int16): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAllocGeomOverlayRows".}
|
||||
libx11c, importc: "XkbAllocGeomOverlayRows".}
|
||||
proc SrvXkbAllocGeomOverlayKeys*(row: PXkbOverlayRowPtr, num_needed: int16): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAllocGeomOverlayKeys".}
|
||||
libx11c, importc: "XkbAllocGeomOverlayKeys".}
|
||||
proc SrvXkbAllocGeomShapes*(geom: PXkbGeometryPtr, nShapes: int16): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAllocGeomShapes".}
|
||||
libx11c, importc: "XkbAllocGeomShapes".}
|
||||
proc SrvXkbAllocGeometry*(xkb: PXkbDescPtr, sizes: PXkbGeometrySizesPtr): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAllocGeometry".}
|
||||
libx11c, importc: "XkbAllocGeometry".}
|
||||
proc SrvXkbFreeGeomKeyAliases*(geom: PXkbGeometryPtr, first: int16,
|
||||
count: int16, freeAll: bool){.cdecl,
|
||||
dynlib: libX11, importc: "XkbFreeGeomKeyAliases".}
|
||||
count: int16, freeAll: bool){.libx11c, importc: "XkbFreeGeomKeyAliases".}
|
||||
proc SrvXkbFreeGeomColors*(geom: PXkbGeometryPtr, first: int16, count: int16,
|
||||
freeAll: bool){.cdecl, dynlib: libX11,
|
||||
freeAll: bool){.libx11c,
|
||||
importc: "XkbFreeGeomColors".}
|
||||
proc SrvXkbFreeGeomDoodads*(doodads: PXkbDoodadPtr, nDoodads: int16,
|
||||
freeAll: bool){.cdecl, dynlib: libX11,
|
||||
freeAll: bool){.libx11c,
|
||||
importc: "XkbFreeGeomDoodads".}
|
||||
proc SrvXkbFreeGeomProperties*(geom: PXkbGeometryPtr, first: int16,
|
||||
count: int16, freeAll: bool){.cdecl,
|
||||
dynlib: libX11, importc: "XkbFreeGeomProperties".}
|
||||
count: int16, freeAll: bool){.libx11c, importc: "XkbFreeGeomProperties".}
|
||||
proc SrvXkbFreeGeomOverlayKeys*(row: PXkbOverlayRowPtr, first: int16,
|
||||
count: int16, freeAll: bool){.cdecl,
|
||||
dynlib: libX11, importc: "XkbFreeGeomOverlayKeys".}
|
||||
count: int16, freeAll: bool){.libx11c, importc: "XkbFreeGeomOverlayKeys".}
|
||||
proc SrvXkbFreeGeomOverlayRows*(overlay: PXkbOverlayPtr, first: int16,
|
||||
count: int16, freeAll: bool){.cdecl,
|
||||
dynlib: libX11, importc: "XkbFreeGeomOverlayRows".}
|
||||
count: int16, freeAll: bool){.libx11c, importc: "XkbFreeGeomOverlayRows".}
|
||||
proc SrvXkbFreeGeomOverlays*(section: PXkbSectionPtr, first: int16,
|
||||
count: int16, freeAll: bool){.cdecl,
|
||||
dynlib: libX11, importc: "XkbFreeGeomOverlays".}
|
||||
count: int16, freeAll: bool){.libx11c, importc: "XkbFreeGeomOverlays".}
|
||||
proc SrvXkbFreeGeomKeys*(row: PXkbRowPtr, first: int16, count: int16,
|
||||
freeAll: bool){.cdecl, dynlib: libX11,
|
||||
freeAll: bool){.libx11c,
|
||||
importc: "XkbFreeGeomKeys".}
|
||||
proc SrvXkbFreeGeomRows*(section: PXkbSectionPtr, first: int16, count: int16,
|
||||
freeAll: bool){.cdecl, dynlib: libX11,
|
||||
freeAll: bool){.libx11c,
|
||||
importc: "XkbFreeGeomRows".}
|
||||
proc SrvXkbFreeGeomSections*(geom: PXkbGeometryPtr, first: int16,
|
||||
count: int16, freeAll: bool){.cdecl,
|
||||
dynlib: libX11, importc: "XkbFreeGeomSections".}
|
||||
count: int16, freeAll: bool){.libx11c, importc: "XkbFreeGeomSections".}
|
||||
proc SrvXkbFreeGeomPoints*(outline: PXkbOutlinePtr, first: int16,
|
||||
count: int16, freeAll: bool){.cdecl,
|
||||
dynlib: libX11, importc: "XkbFreeGeomPoints".}
|
||||
count: int16, freeAll: bool){.libx11c, importc: "XkbFreeGeomPoints".}
|
||||
proc SrvXkbFreeGeomOutlines*(shape: PXkbShapePtr, first: int16, count: int16,
|
||||
freeAll: bool){.cdecl, dynlib: libX11,
|
||||
freeAll: bool){.libx11c,
|
||||
importc: "XkbFreeGeomOutlines".}
|
||||
proc SrvXkbFreeGeomShapes*(geom: PXkbGeometryPtr, first: int16, count: int16,
|
||||
freeAll: bool){.cdecl, dynlib: libX11,
|
||||
freeAll: bool){.libx11c,
|
||||
importc: "XkbFreeGeomShapes".}
|
||||
proc SrvXkbFreeGeometry*(geom: PXkbGeometryPtr, which: int16, freeMap: bool){.
|
||||
cdecl, dynlib: libX11, importc: "XkbFreeGeometry".}
|
||||
libx11c, importc: "XkbFreeGeometry".}
|
||||
# implementation
|
||||
|
||||
import #************************************ xkb ************************************
|
||||
|
||||
@@ -52,6 +52,10 @@
|
||||
import
|
||||
X, Xlib, XKB
|
||||
|
||||
|
||||
include "x11pragma.nim"
|
||||
|
||||
|
||||
type
|
||||
PXkbAnyEvent* = ptr TXkbAnyEvent
|
||||
TXkbAnyEvent*{.final.} = object
|
||||
@@ -338,21 +342,18 @@ const
|
||||
XkbLC_AllComposeControls* = 0xC0000000
|
||||
XkbLC_AllControls* = 0xC000001F
|
||||
|
||||
proc XkbIgnoreExtension*(ignore: bool): bool{.cdecl, dynlib: libX11,
|
||||
proc XkbIgnoreExtension*(ignore: bool): bool{.libx11c,
|
||||
importc: "XkbIgnoreExtension".}
|
||||
proc XkbOpenDisplay*(name: cstring, ev_rtrn, err_rtrn, major_rtrn, minor_rtrn,
|
||||
reason: ptr int16): PDisplay{.cdecl,
|
||||
dynlib: libX11, importc: "XkbOpenDisplay".}
|
||||
reason: ptr int16): PDisplay{.libx11c, importc: "XkbOpenDisplay".}
|
||||
proc XkbQueryExtension*(dpy: PDisplay, opcodeReturn, eventBaseReturn,
|
||||
errorBaseReturn, majorRtrn, minorRtrn: ptr int16): bool{.
|
||||
cdecl, dynlib: libX11, importc: "XkbQueryExtension".}
|
||||
libx11c, importc: "XkbQueryExtension".}
|
||||
proc XkbUseExtension*(dpy: PDisplay, major_rtrn, minor_rtrn: ptr int16): bool{.
|
||||
cdecl, dynlib: libX11, importc: "XkbUseExtension".}
|
||||
proc XkbLibraryVersion*(libMajorRtrn, libMinorRtrn: ptr int16): bool{.cdecl,
|
||||
dynlib: libX11, importc: "XkbLibraryVersion".}
|
||||
proc XkbSetXlibControls*(dpy: PDisplay, affect, values: int16): int16{.cdecl,
|
||||
dynlib: libX11, importc: "XkbSetXlibControls".}
|
||||
proc XkbGetXlibControls*(dpy: PDisplay): int16{.cdecl, dynlib: libX11,
|
||||
libx11c, importc: "XkbUseExtension".}
|
||||
proc XkbLibraryVersion*(libMajorRtrn, libMinorRtrn: ptr int16): bool{.libx11c, importc: "XkbLibraryVersion".}
|
||||
proc XkbSetXlibControls*(dpy: PDisplay, affect, values: int16): int16{.libx11c, importc: "XkbSetXlibControls".}
|
||||
proc XkbGetXlibControls*(dpy: PDisplay): int16{.libx11c,
|
||||
importc: "XkbGetXlibControls".}
|
||||
type
|
||||
TXkbInternAtomFunc* = proc (dpy: PDisplay, name: cstring, only_if_exists: bool): TAtom{.
|
||||
@@ -362,68 +363,64 @@ type
|
||||
TXkbGetAtomNameFunc* = proc (dpy: PDisplay, atom: TAtom): cstring{.cdecl.}
|
||||
|
||||
proc XkbSetAtomFuncs*(getAtom: TXkbInternAtomFunc, getName: TXkbGetAtomNameFunc){.
|
||||
cdecl, dynlib: libX11, importc: "XkbSetAtomFuncs".}
|
||||
libx11c, importc: "XkbSetAtomFuncs".}
|
||||
proc XkbKeycodeToKeysym*(dpy: PDisplay, kc: TKeyCode, group, level: int16): TKeySym{.
|
||||
cdecl, dynlib: libX11, importc: "XkbKeycodeToKeysym".}
|
||||
proc XkbKeysymToModifiers*(dpy: PDisplay, ks: TKeySym): int16{.cdecl,
|
||||
dynlib: libX11, importc: "XkbKeysymToModifiers".}
|
||||
libx11c, importc: "XkbKeycodeToKeysym".}
|
||||
proc XkbKeysymToModifiers*(dpy: PDisplay, ks: TKeySym): int16{.libx11c, importc: "XkbKeysymToModifiers".}
|
||||
proc XkbLookupKeySym*(dpy: PDisplay, keycode: TKeyCode,
|
||||
modifiers, modifiers_return: int16, keysym_return: PKeySym): bool{.
|
||||
cdecl, dynlib: libX11, importc: "XkbLookupKeySym".}
|
||||
libx11c, importc: "XkbLookupKeySym".}
|
||||
proc XkbLookupKeyBinding*(dpy: PDisplay, sym_rtrn: TKeySym, mods: int16,
|
||||
buffer: cstring, nbytes: int16, extra_rtrn: ptr int16): int16{.
|
||||
cdecl, dynlib: libX11, importc: "XkbLookupKeyBinding".}
|
||||
libx11c, importc: "XkbLookupKeyBinding".}
|
||||
proc XkbTranslateKeyCode*(xkb: PXkbDescPtr, keycode: TKeyCode,
|
||||
modifiers, modifiers_return: int16,
|
||||
keysym_return: PKeySym): bool{.cdecl, dynlib: libX11,
|
||||
keysym_return: PKeySym): bool{.libx11c,
|
||||
importc: "XkbTranslateKeyCode".}
|
||||
proc XkbTranslateKeySym*(dpy: PDisplay, sym_return: TKeySym, modifiers: int16,
|
||||
buffer: cstring, nbytes: int16, extra_rtrn: ptr int16): int16{.
|
||||
cdecl, dynlib: libX11, importc: "XkbTranslateKeySym".}
|
||||
libx11c, importc: "XkbTranslateKeySym".}
|
||||
proc XkbSetAutoRepeatRate*(dpy: PDisplay, deviceSpec, delay, interval: int16): bool{.
|
||||
cdecl, dynlib: libX11, importc: "XkbSetAutoRepeatRate".}
|
||||
libx11c, importc: "XkbSetAutoRepeatRate".}
|
||||
proc XkbGetAutoRepeatRate*(dpy: PDisplay, deviceSpec: int16,
|
||||
delayRtrn, intervalRtrn: PWord): bool{.cdecl,
|
||||
dynlib: libX11, importc: "XkbGetAutoRepeatRate".}
|
||||
delayRtrn, intervalRtrn: PWord): bool{.libx11c, importc: "XkbGetAutoRepeatRate".}
|
||||
proc XkbChangeEnabledControls*(dpy: PDisplay, deviceSpec, affect, values: int16): bool{.
|
||||
cdecl, dynlib: libX11, importc: "XkbChangeEnabledControls".}
|
||||
libx11c, importc: "XkbChangeEnabledControls".}
|
||||
proc XkbDeviceBell*(dpy: PDisplay, win: TWindow,
|
||||
deviceSpec, bellClass, bellID, percent: int16, name: TAtom): bool{.
|
||||
cdecl, dynlib: libX11, importc: "XkbDeviceBell".}
|
||||
libx11c, importc: "XkbDeviceBell".}
|
||||
proc XkbForceDeviceBell*(dpy: PDisplay,
|
||||
deviceSpec, bellClass, bellID, percent: int16): bool{.
|
||||
cdecl, dynlib: libX11, importc: "XkbForceDeviceBell".}
|
||||
libx11c, importc: "XkbForceDeviceBell".}
|
||||
proc XkbDeviceBellEvent*(dpy: PDisplay, win: TWindow,
|
||||
deviceSpec, bellClass, bellID, percent: int16,
|
||||
name: TAtom): bool{.cdecl, dynlib: libX11,
|
||||
name: TAtom): bool{.libx11c,
|
||||
importc: "XkbDeviceBellEvent".}
|
||||
proc XkbBell*(dpy: PDisplay, win: TWindow, percent: int16, name: TAtom): bool{.
|
||||
cdecl, dynlib: libX11, importc: "XkbBell".}
|
||||
proc XkbForceBell*(dpy: PDisplay, percent: int16): bool{.cdecl, dynlib: libX11,
|
||||
libx11c, importc: "XkbBell".}
|
||||
proc XkbForceBell*(dpy: PDisplay, percent: int16): bool{.libx11c,
|
||||
importc: "XkbForceBell".}
|
||||
proc XkbBellEvent*(dpy: PDisplay, win: TWindow, percent: int16, name: TAtom): bool{.
|
||||
cdecl, dynlib: libX11, importc: "XkbBellEvent".}
|
||||
libx11c, importc: "XkbBellEvent".}
|
||||
proc XkbSelectEvents*(dpy: PDisplay, deviceID, affect, values: int16): bool{.
|
||||
cdecl, dynlib: libX11, importc: "XkbSelectEvents".}
|
||||
libx11c, importc: "XkbSelectEvents".}
|
||||
proc XkbSelectEventDetails*(dpy: PDisplay, deviceID, eventType: int16,
|
||||
affect, details: int32): bool{.cdecl,
|
||||
dynlib: libX11, importc: "XkbSelectEventDetails".}
|
||||
affect, details: int32): bool{.libx11c, importc: "XkbSelectEventDetails".}
|
||||
proc XkbNoteMapChanges*(old: PXkbMapChangesPtr, new: PXkbMapNotifyEvent,
|
||||
wanted: int16){.cdecl, dynlib: libX11,
|
||||
wanted: int16){.libx11c,
|
||||
importc: "XkbNoteMapChanges".}
|
||||
proc XkbNoteNameChanges*(old: PXkbNameChangesPtr, new: PXkbNamesNotifyEvent,
|
||||
wanted: int16){.cdecl, dynlib: libX11,
|
||||
wanted: int16){.libx11c,
|
||||
importc: "XkbNoteNameChanges".}
|
||||
proc XkbGetIndicatorState*(dpy: PDisplay, deviceSpec: int16, pStateRtrn: PWord): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbGetIndicatorState".}
|
||||
libx11c, importc: "XkbGetIndicatorState".}
|
||||
proc XkbGetDeviceIndicatorState*(dpy: PDisplay,
|
||||
deviceSpec, ledClass, ledID: int16,
|
||||
pStateRtrn: PWord): TStatus{.cdecl,
|
||||
dynlib: libX11, importc: "XkbGetDeviceIndicatorState".}
|
||||
pStateRtrn: PWord): TStatus{.libx11c, importc: "XkbGetDeviceIndicatorState".}
|
||||
proc XkbGetIndicatorMap*(dpy: PDisplay, which: int32, desc: PXkbDescPtr): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbGetIndicatorMap".}
|
||||
libx11c, importc: "XkbGetIndicatorMap".}
|
||||
proc XkbSetIndicatorMap*(dpy: PDisplay, which: int32, desc: PXkbDescPtr): bool{.
|
||||
cdecl, dynlib: libX11, importc: "XkbSetIndicatorMap".}
|
||||
libx11c, importc: "XkbSetIndicatorMap".}
|
||||
proc XkbNoteIndicatorMapChanges*(o, n: PXkbIndicatorChangesPtr, w: int16)
|
||||
proc XkbNoteIndicatorStateChanges*(o, n: PXkbIndicatorChangesPtr, w: int16)
|
||||
proc XkbGetIndicatorMapChanges*(d: PDisplay, x: PXkbDescPtr,
|
||||
@@ -432,176 +429,151 @@ proc XkbChangeIndicatorMaps*(d: PDisplay, x: PXkbDescPtr,
|
||||
c: PXkbIndicatorChangesPtr): bool
|
||||
proc XkbGetNamedIndicator*(dpy: PDisplay, name: TAtom, pNdxRtrn: ptr int16,
|
||||
pStateRtrn: ptr bool, pMapRtrn: PXkbIndicatorMapPtr,
|
||||
pRealRtrn: ptr bool): bool{.cdecl, dynlib: libX11,
|
||||
pRealRtrn: ptr bool): bool{.libx11c,
|
||||
importc: "XkbGetNamedIndicator".}
|
||||
proc XkbGetNamedDeviceIndicator*(dpy: PDisplay,
|
||||
deviceSpec, ledClass, ledID: int16,
|
||||
name: TAtom, pNdxRtrn: ptr int16,
|
||||
pStateRtrn: ptr bool,
|
||||
pMapRtrn: PXkbIndicatorMapPtr,
|
||||
pRealRtrn: ptr bool): bool{.cdecl,
|
||||
dynlib: libX11, importc: "XkbGetNamedDeviceIndicator".}
|
||||
pRealRtrn: ptr bool): bool{.libx11c, importc: "XkbGetNamedDeviceIndicator".}
|
||||
proc XkbSetNamedIndicator*(dpy: PDisplay, name: TAtom,
|
||||
changeState, state, createNewMap: bool,
|
||||
pMap: PXkbIndicatorMapPtr): bool{.cdecl,
|
||||
dynlib: libX11, importc: "XkbSetNamedIndicator".}
|
||||
pMap: PXkbIndicatorMapPtr): bool{.libx11c, importc: "XkbSetNamedIndicator".}
|
||||
proc XkbSetNamedDeviceIndicator*(dpy: PDisplay,
|
||||
deviceSpec, ledClass, ledID: int16,
|
||||
name: TAtom,
|
||||
changeState, state, createNewMap: bool,
|
||||
pMap: PXkbIndicatorMapPtr): bool{.cdecl,
|
||||
dynlib: libX11, importc: "XkbSetNamedDeviceIndicator".}
|
||||
pMap: PXkbIndicatorMapPtr): bool{.libx11c, importc: "XkbSetNamedDeviceIndicator".}
|
||||
proc XkbLockModifiers*(dpy: PDisplay, deviceSpec, affect, values: int16): bool{.
|
||||
cdecl, dynlib: libX11, importc: "XkbLockModifiers".}
|
||||
libx11c, importc: "XkbLockModifiers".}
|
||||
proc XkbLatchModifiers*(dpy: PDisplay, deviceSpec, affect, values: int16): bool{.
|
||||
cdecl, dynlib: libX11, importc: "XkbLatchModifiers".}
|
||||
proc XkbLockGroup*(dpy: PDisplay, deviceSpec, group: int16): bool{.cdecl,
|
||||
dynlib: libX11, importc: "XkbLockGroup".}
|
||||
proc XkbLatchGroup*(dpy: PDisplay, deviceSpec, group: int16): bool{.cdecl,
|
||||
dynlib: libX11, importc: "XkbLatchGroup".}
|
||||
libx11c, importc: "XkbLatchModifiers".}
|
||||
proc XkbLockGroup*(dpy: PDisplay, deviceSpec, group: int16): bool{.libx11c, importc: "XkbLockGroup".}
|
||||
proc XkbLatchGroup*(dpy: PDisplay, deviceSpec, group: int16): bool{.libx11c, importc: "XkbLatchGroup".}
|
||||
proc XkbSetServerInternalMods*(dpy: PDisplay, deviceSpec, affectReal,
|
||||
realValues, affectVirtual, virtualValues: int16): bool{.cdecl,
|
||||
dynlib: libX11, importc: "XkbSetServerInternalMods".}
|
||||
realValues, affectVirtual, virtualValues: int16): bool{.libx11c, importc: "XkbSetServerInternalMods".}
|
||||
proc XkbSetIgnoreLockMods*(dpy: PDisplay, deviceSpec, affectReal, realValues,
|
||||
affectVirtual, virtualValues: int16): bool{.cdecl, dynlib: libX11,
|
||||
affectVirtual, virtualValues: int16): bool{.libx11c,
|
||||
importc: "XkbSetIgnoreLockMods".}
|
||||
proc XkbVirtualModsToReal*(dpy: PDisplay, virtual_mask: int16, mask_rtrn: PWord): bool{.
|
||||
cdecl, dynlib: libX11, importc: "XkbVirtualModsToReal".}
|
||||
libx11c, importc: "XkbVirtualModsToReal".}
|
||||
proc XkbComputeEffectiveMap*(xkb: PXkbDescPtr, theType: PXkbKeyTypePtr,
|
||||
map_rtrn: PByte): bool{.cdecl, dynlib: libX11,
|
||||
map_rtrn: PByte): bool{.libx11c,
|
||||
importc: "XkbComputeEffectiveMap".}
|
||||
proc XkbInitCanonicalKeyTypes*(xkb: PXkbDescPtr, which: int16, keypadVMod: int16): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbInitCanonicalKeyTypes".}
|
||||
proc XkbAllocKeyboard*(): PXkbDescPtr{.cdecl, dynlib: libX11,
|
||||
libx11c, importc: "XkbInitCanonicalKeyTypes".}
|
||||
proc XkbAllocKeyboard*(): PXkbDescPtr{.libx11c,
|
||||
importc: "XkbAllocKeyboard".}
|
||||
proc XkbFreeKeyboard*(xkb: PXkbDescPtr, which: int16, freeDesc: bool){.cdecl,
|
||||
dynlib: libX11, importc: "XkbFreeKeyboard".}
|
||||
proc XkbAllocClientMap*(xkb: PXkbDescPtr, which, nTypes: int16): TStatus{.cdecl,
|
||||
dynlib: libX11, importc: "XkbAllocClientMap".}
|
||||
proc XkbFreeKeyboard*(xkb: PXkbDescPtr, which: int16, freeDesc: bool){.libx11c, importc: "XkbFreeKeyboard".}
|
||||
proc XkbAllocClientMap*(xkb: PXkbDescPtr, which, nTypes: int16): TStatus{.libx11c, importc: "XkbAllocClientMap".}
|
||||
proc XkbAllocServerMap*(xkb: PXkbDescPtr, which, nActions: int16): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAllocServerMap".}
|
||||
proc XkbFreeClientMap*(xkb: PXkbDescPtr, what: int16, freeMap: bool){.cdecl,
|
||||
dynlib: libX11, importc: "XkbFreeClientMap".}
|
||||
proc XkbFreeServerMap*(xkb: PXkbDescPtr, what: int16, freeMap: bool){.cdecl,
|
||||
dynlib: libX11, importc: "XkbFreeServerMap".}
|
||||
libx11c, importc: "XkbAllocServerMap".}
|
||||
proc XkbFreeClientMap*(xkb: PXkbDescPtr, what: int16, freeMap: bool){.libx11c, importc: "XkbFreeClientMap".}
|
||||
proc XkbFreeServerMap*(xkb: PXkbDescPtr, what: int16, freeMap: bool){.libx11c, importc: "XkbFreeServerMap".}
|
||||
proc XkbAddKeyType*(xkb: PXkbDescPtr, name: TAtom, map_count: int16,
|
||||
want_preserve: bool, num_lvls: int16): PXkbKeyTypePtr{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAddKeyType".}
|
||||
proc XkbAllocIndicatorMaps*(xkb: PXkbDescPtr): TStatus{.cdecl, dynlib: libX11,
|
||||
libx11c, importc: "XkbAddKeyType".}
|
||||
proc XkbAllocIndicatorMaps*(xkb: PXkbDescPtr): TStatus{.libx11c,
|
||||
importc: "XkbAllocIndicatorMaps".}
|
||||
proc XkbFreeIndicatorMaps*(xkb: PXkbDescPtr){.cdecl, dynlib: libX11,
|
||||
proc XkbFreeIndicatorMaps*(xkb: PXkbDescPtr){.libx11c,
|
||||
importc: "XkbFreeIndicatorMaps".}
|
||||
proc XkbGetMap*(dpy: PDisplay, which, deviceSpec: int16): PXkbDescPtr{.cdecl,
|
||||
dynlib: libX11, importc: "XkbGetMap".}
|
||||
proc XkbGetMap*(dpy: PDisplay, which, deviceSpec: int16): PXkbDescPtr{.libx11c, importc: "XkbGetMap".}
|
||||
proc XkbGetUpdatedMap*(dpy: PDisplay, which: int16, desc: PXkbDescPtr): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbGetUpdatedMap".}
|
||||
libx11c, importc: "XkbGetUpdatedMap".}
|
||||
proc XkbGetMapChanges*(dpy: PDisplay, xkb: PXkbDescPtr,
|
||||
changes: PXkbMapChangesPtr): TStatus{.cdecl,
|
||||
dynlib: libX11, importc: "XkbGetMapChanges".}
|
||||
proc XkbRefreshKeyboardMapping*(event: PXkbMapNotifyEvent): TStatus{.cdecl,
|
||||
dynlib: libX11, importc: "XkbRefreshKeyboardMapping".}
|
||||
changes: PXkbMapChangesPtr): TStatus{.libx11c, importc: "XkbGetMapChanges".}
|
||||
proc XkbRefreshKeyboardMapping*(event: PXkbMapNotifyEvent): TStatus{.libx11c, importc: "XkbRefreshKeyboardMapping".}
|
||||
proc XkbGetKeyTypes*(dpy: PDisplay, first, num: int16, xkb: PXkbDescPtr): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbGetKeyTypes".}
|
||||
libx11c, importc: "XkbGetKeyTypes".}
|
||||
proc XkbGetKeySyms*(dpy: PDisplay, first, num: int16, xkb: PXkbDescPtr): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbGetKeySyms".}
|
||||
libx11c, importc: "XkbGetKeySyms".}
|
||||
proc XkbGetKeyActions*(dpy: PDisplay, first, num: int16, xkb: PXkbDescPtr): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbGetKeyActions".}
|
||||
libx11c, importc: "XkbGetKeyActions".}
|
||||
proc XkbGetKeyBehaviors*(dpy: PDisplay, firstKey, nKeys: int16,
|
||||
desc: PXkbDescPtr): TStatus{.cdecl, dynlib: libX11,
|
||||
desc: PXkbDescPtr): TStatus{.libx11c,
|
||||
importc: "XkbGetKeyBehaviors".}
|
||||
proc XkbGetVirtualMods*(dpy: PDisplay, which: int16, desc: PXkbDescPtr): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbGetVirtualMods".}
|
||||
libx11c, importc: "XkbGetVirtualMods".}
|
||||
proc XkbGetKeyExplicitComponents*(dpy: PDisplay, firstKey, nKeys: int16,
|
||||
desc: PXkbDescPtr): TStatus{.cdecl,
|
||||
dynlib: libX11, importc: "XkbGetKeyExplicitComponents".}
|
||||
desc: PXkbDescPtr): TStatus{.libx11c, importc: "XkbGetKeyExplicitComponents".}
|
||||
proc XkbGetKeyModifierMap*(dpy: PDisplay, firstKey, nKeys: int16,
|
||||
desc: PXkbDescPtr): TStatus{.cdecl, dynlib: libX11,
|
||||
desc: PXkbDescPtr): TStatus{.libx11c,
|
||||
importc: "XkbGetKeyModifierMap".}
|
||||
proc XkbAllocControls*(xkb: PXkbDescPtr, which: int16): TStatus{.cdecl,
|
||||
dynlib: libX11, importc: "XkbAllocControls".}
|
||||
proc XkbFreeControls*(xkb: PXkbDescPtr, which: int16, freeMap: bool){.cdecl,
|
||||
dynlib: libX11, importc: "XkbFreeControls".}
|
||||
proc XkbAllocControls*(xkb: PXkbDescPtr, which: int16): TStatus{.libx11c, importc: "XkbAllocControls".}
|
||||
proc XkbFreeControls*(xkb: PXkbDescPtr, which: int16, freeMap: bool){.libx11c, importc: "XkbFreeControls".}
|
||||
proc XkbGetControls*(dpy: PDisplay, which: int32, desc: PXkbDescPtr): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbGetControls".}
|
||||
libx11c, importc: "XkbGetControls".}
|
||||
proc XkbSetControls*(dpy: PDisplay, which: int32, desc: PXkbDescPtr): bool{.
|
||||
cdecl, dynlib: libX11, importc: "XkbSetControls".}
|
||||
libx11c, importc: "XkbSetControls".}
|
||||
proc XkbNoteControlsChanges*(old: PXkbControlsChangesPtr,
|
||||
new: PXkbControlsNotifyEvent, wanted: int16){.
|
||||
cdecl, dynlib: libX11, importc: "XkbNoteControlsChanges".}
|
||||
libx11c, importc: "XkbNoteControlsChanges".}
|
||||
proc XkbGetControlsChanges*(d: PDisplay, x: PXkbDescPtr,
|
||||
c: PXkbControlsChangesPtr): TStatus
|
||||
proc XkbChangeControls*(d: PDisplay, x: PXkbDescPtr, c: PXkbControlsChangesPtr): bool
|
||||
proc XkbAllocCompatMap*(xkb: PXkbDescPtr, which, nInterpret: int16): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAllocCompatMap".}
|
||||
proc XkbFreeCompatMap*(xkib: PXkbDescPtr, which: int16, freeMap: bool){.cdecl,
|
||||
dynlib: libX11, importc: "XkbFreeCompatMap".}
|
||||
libx11c, importc: "XkbAllocCompatMap".}
|
||||
proc XkbFreeCompatMap*(xkib: PXkbDescPtr, which: int16, freeMap: bool){.libx11c, importc: "XkbFreeCompatMap".}
|
||||
proc XkbGetCompatMap*(dpy: PDisplay, which: int16, xkb: PXkbDescPtr): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbGetCompatMap".}
|
||||
libx11c, importc: "XkbGetCompatMap".}
|
||||
proc XkbSetCompatMap*(dpy: PDisplay, which: int16, xkb: PXkbDescPtr,
|
||||
updateActions: bool): bool{.cdecl, dynlib: libX11,
|
||||
updateActions: bool): bool{.libx11c,
|
||||
importc: "XkbSetCompatMap".}
|
||||
proc XkbAddSymInterpret*(xkb: PXkbDescPtr, si: PXkbSymInterpretPtr,
|
||||
updateMap: bool, changes: PXkbChangesPtr): PXkbSymInterpretPtr{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAddSymInterpret".}
|
||||
libx11c, importc: "XkbAddSymInterpret".}
|
||||
proc XkbAllocNames*(xkb: PXkbDescPtr, which: int16,
|
||||
nTotalRG, nTotalAliases: int16): TStatus{.cdecl,
|
||||
dynlib: libX11, importc: "XkbAllocNames".}
|
||||
nTotalRG, nTotalAliases: int16): TStatus{.libx11c, importc: "XkbAllocNames".}
|
||||
proc XkbGetNames*(dpy: PDisplay, which: int16, desc: PXkbDescPtr): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbGetNames".}
|
||||
libx11c, importc: "XkbGetNames".}
|
||||
proc XkbSetNames*(dpy: PDisplay, which, firstType, nTypes: int16,
|
||||
desc: PXkbDescPtr): bool{.cdecl, dynlib: libX11,
|
||||
desc: PXkbDescPtr): bool{.libx11c,
|
||||
importc: "XkbSetNames".}
|
||||
proc XkbChangeNames*(dpy: PDisplay, xkb: PXkbDescPtr,
|
||||
changes: PXkbNameChangesPtr): bool{.cdecl, dynlib: libX11,
|
||||
changes: PXkbNameChangesPtr): bool{.libx11c,
|
||||
importc: "XkbChangeNames".}
|
||||
proc XkbFreeNames*(xkb: PXkbDescPtr, which: int16, freeMap: bool){.cdecl,
|
||||
dynlib: libX11, importc: "XkbFreeNames".}
|
||||
proc XkbFreeNames*(xkb: PXkbDescPtr, which: int16, freeMap: bool){.libx11c, importc: "XkbFreeNames".}
|
||||
proc XkbGetState*(dpy: PDisplay, deviceSpec: int16, rtrnState: PXkbStatePtr): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbGetState".}
|
||||
proc XkbSetMap*(dpy: PDisplay, which: int16, desc: PXkbDescPtr): bool{.cdecl,
|
||||
dynlib: libX11, importc: "XkbSetMap".}
|
||||
libx11c, importc: "XkbGetState".}
|
||||
proc XkbSetMap*(dpy: PDisplay, which: int16, desc: PXkbDescPtr): bool{.libx11c, importc: "XkbSetMap".}
|
||||
proc XkbChangeMap*(dpy: PDisplay, desc: PXkbDescPtr, changes: PXkbMapChangesPtr): bool{.
|
||||
cdecl, dynlib: libX11, importc: "XkbChangeMap".}
|
||||
libx11c, importc: "XkbChangeMap".}
|
||||
proc XkbSetDetectableAutoRepeat*(dpy: PDisplay, detectable: bool,
|
||||
supported: ptr bool): bool{.cdecl,
|
||||
dynlib: libX11, importc: "XkbSetDetectableAutoRepeat".}
|
||||
supported: ptr bool): bool{.libx11c, importc: "XkbSetDetectableAutoRepeat".}
|
||||
proc XkbGetDetectableAutoRepeat*(dpy: PDisplay, supported: ptr bool): bool{.
|
||||
cdecl, dynlib: libX11, importc: "XkbGetDetectableAutoRepeat".}
|
||||
libx11c, importc: "XkbGetDetectableAutoRepeat".}
|
||||
proc XkbSetAutoResetControls*(dpy: PDisplay, changes: int16,
|
||||
auto_ctrls, auto_values: PWord): bool{.cdecl,
|
||||
dynlib: libX11, importc: "XkbSetAutoResetControls".}
|
||||
auto_ctrls, auto_values: PWord): bool{.libx11c, importc: "XkbSetAutoResetControls".}
|
||||
proc XkbGetAutoResetControls*(dpy: PDisplay, auto_ctrls, auto_ctrl_values: PWord): bool{.
|
||||
cdecl, dynlib: libX11, importc: "XkbGetAutoResetControls".}
|
||||
libx11c, importc: "XkbGetAutoResetControls".}
|
||||
proc XkbSetPerClientControls*(dpy: PDisplay, change: int16, values: PWord): bool{.
|
||||
cdecl, dynlib: libX11, importc: "XkbSetPerClientControls".}
|
||||
proc XkbGetPerClientControls*(dpy: PDisplay, ctrls: PWord): bool{.cdecl,
|
||||
dynlib: libX11, importc: "XkbGetPerClientControls".}
|
||||
proc XkbCopyKeyType*(`from`, into: PXkbKeyTypePtr): TStatus{.cdecl,
|
||||
dynlib: libX11, importc: "XkbCopyKeyType".}
|
||||
libx11c, importc: "XkbSetPerClientControls".}
|
||||
proc XkbGetPerClientControls*(dpy: PDisplay, ctrls: PWord): bool{.libx11c, importc: "XkbGetPerClientControls".}
|
||||
proc XkbCopyKeyType*(`from`, into: PXkbKeyTypePtr): TStatus{.libx11c, importc: "XkbCopyKeyType".}
|
||||
proc XkbCopyKeyTypes*(`from`, into: PXkbKeyTypePtr, num_types: int16): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbCopyKeyTypes".}
|
||||
libx11c, importc: "XkbCopyKeyTypes".}
|
||||
proc XkbResizeKeyType*(xkb: PXkbDescPtr, type_ndx, map_count: int16,
|
||||
want_preserve: bool, new_num_lvls: int16): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbResizeKeyType".}
|
||||
libx11c, importc: "XkbResizeKeyType".}
|
||||
proc XkbResizeKeySyms*(desc: PXkbDescPtr, forKey, symsNeeded: int16): PKeySym{.
|
||||
cdecl, dynlib: libX11, importc: "XkbResizeKeySyms".}
|
||||
libx11c, importc: "XkbResizeKeySyms".}
|
||||
proc XkbResizeKeyActions*(desc: PXkbDescPtr, forKey, actsNeeded: int16): PXkbAction{.
|
||||
cdecl, dynlib: libX11, importc: "XkbResizeKeyActions".}
|
||||
libx11c, importc: "XkbResizeKeyActions".}
|
||||
proc XkbChangeTypesOfKey*(xkb: PXkbDescPtr, key, num_groups: int16,
|
||||
groups: int16, newTypes: ptr int16,
|
||||
pChanges: PXkbMapChangesPtr): TStatus{.cdecl,
|
||||
dynlib: libX11, importc: "XkbChangeTypesOfKey".}
|
||||
pChanges: PXkbMapChangesPtr): TStatus{.libx11c, importc: "XkbChangeTypesOfKey".}
|
||||
|
||||
proc XkbListComponents*(dpy: PDisplay, deviceSpec: int16,
|
||||
ptrns: PXkbComponentNamesPtr, max_inout: ptr int16): PXkbComponentListPtr{.
|
||||
cdecl, dynlib: libX11, importc: "XkbListComponents".}
|
||||
proc XkbFreeComponentList*(list: PXkbComponentListPtr){.cdecl, dynlib: libX11,
|
||||
libx11c, importc: "XkbListComponents".}
|
||||
proc XkbFreeComponentList*(list: PXkbComponentListPtr){.libx11c,
|
||||
importc: "XkbFreeComponentList".}
|
||||
proc XkbGetKeyboard*(dpy: PDisplay, which, deviceSpec: int16): PXkbDescPtr{.
|
||||
cdecl, dynlib: libX11, importc: "XkbGetKeyboard".}
|
||||
libx11c, importc: "XkbGetKeyboard".}
|
||||
proc XkbGetKeyboardByName*(dpy: PDisplay, deviceSpec: int16,
|
||||
names: PXkbComponentNamesPtr, want, need: int16,
|
||||
load: bool): PXkbDescPtr{.cdecl, dynlib: libX11,
|
||||
load: bool): PXkbDescPtr{.libx11c,
|
||||
importc: "XkbGetKeyboardByName".}
|
||||
|
||||
proc XkbKeyTypesForCoreSymbols*(xkb: PXkbDescPtr,
|
||||
@@ -609,65 +581,55 @@ proc XkbKeyTypesForCoreSymbols*(xkb: PXkbDescPtr,
|
||||
core_syms: PKeySym, # always mapWidth symbols
|
||||
protected: int16, # explicit key types
|
||||
types_inout: ptr int16, # always four type indices
|
||||
xkb_syms_rtrn: PKeySym): int16{.cdecl,
|
||||
dynlib: libX11, importc: "XkbKeyTypesForCoreSymbols".}
|
||||
xkb_syms_rtrn: PKeySym): int16{.libx11c, importc: "XkbKeyTypesForCoreSymbols".}
|
||||
# must have enough space
|
||||
proc XkbApplyCompatMapToKey*(xkb: PXkbDescPtr,
|
||||
key: TKeyCode, # key to be updated
|
||||
changes: PXkbChangesPtr): bool{.cdecl,
|
||||
dynlib: libX11, importc: "XkbApplyCompatMapToKey".}
|
||||
changes: PXkbChangesPtr): bool{.libx11c, importc: "XkbApplyCompatMapToKey".}
|
||||
# resulting changes to map
|
||||
proc XkbUpdateMapFromCore*(xkb: PXkbDescPtr,
|
||||
first_key: TKeyCode, # first changed key
|
||||
num_keys,
|
||||
map_width: int16,
|
||||
core_keysyms: PKeySym, # symbols `from` core keymap
|
||||
changes: PXkbChangesPtr): bool{.cdecl,
|
||||
dynlib: libX11, importc: "XkbUpdateMapFromCore".}
|
||||
changes: PXkbChangesPtr): bool{.libx11c, importc: "XkbUpdateMapFromCore".}
|
||||
|
||||
proc XkbAddDeviceLedInfo*(devi: PXkbDeviceInfoPtr, ledClass, ledId: int16): PXkbDeviceLedInfoPtr{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAddDeviceLedInfo".}
|
||||
libx11c, importc: "XkbAddDeviceLedInfo".}
|
||||
proc XkbResizeDeviceButtonActions*(devi: PXkbDeviceInfoPtr, newTotal: int16): TStatus{.
|
||||
cdecl, dynlib: libX11, importc: "XkbResizeDeviceButtonActions".}
|
||||
libx11c, importc: "XkbResizeDeviceButtonActions".}
|
||||
proc XkbAllocDeviceInfo*(deviceSpec, nButtons, szLeds: int16): PXkbDeviceInfoPtr{.
|
||||
cdecl, dynlib: libX11, importc: "XkbAllocDeviceInfo".}
|
||||
libx11c, importc: "XkbAllocDeviceInfo".}
|
||||
proc XkbFreeDeviceInfo*(devi: PXkbDeviceInfoPtr, which: int16, freeDevI: bool){.
|
||||
cdecl, dynlib: libX11, importc: "XkbFreeDeviceInfo".}
|
||||
libx11c, importc: "XkbFreeDeviceInfo".}
|
||||
proc XkbNoteDeviceChanges*(old: PXkbDeviceChangesPtr,
|
||||
new: PXkbExtensionDeviceNotifyEvent, wanted: int16){.
|
||||
cdecl, dynlib: libX11, importc: "XkbNoteDeviceChanges".}
|
||||
libx11c, importc: "XkbNoteDeviceChanges".}
|
||||
proc XkbGetDeviceInfo*(dpy: PDisplay, which, deviceSpec, ledClass, ledID: int16): PXkbDeviceInfoPtr{.
|
||||
cdecl, dynlib: libX11, importc: "XkbGetDeviceInfo".}
|
||||
libx11c, importc: "XkbGetDeviceInfo".}
|
||||
proc XkbGetDeviceInfoChanges*(dpy: PDisplay, devi: PXkbDeviceInfoPtr,
|
||||
changes: PXkbDeviceChangesPtr): TStatus{.cdecl,
|
||||
dynlib: libX11, importc: "XkbGetDeviceInfoChanges".}
|
||||
changes: PXkbDeviceChangesPtr): TStatus{.libx11c, importc: "XkbGetDeviceInfoChanges".}
|
||||
proc XkbGetDeviceButtonActions*(dpy: PDisplay, devi: PXkbDeviceInfoPtr,
|
||||
all: bool, first, nBtns: int16): TStatus{.cdecl,
|
||||
dynlib: libX11, importc: "XkbGetDeviceButtonActions".}
|
||||
all: bool, first, nBtns: int16): TStatus{.libx11c, importc: "XkbGetDeviceButtonActions".}
|
||||
proc XkbGetDeviceLedInfo*(dpy: PDisplay, devi: PXkbDeviceInfoPtr,
|
||||
ledClass, ledId, which: int16): TStatus{.cdecl,
|
||||
dynlib: libX11, importc: "XkbGetDeviceLedInfo".}
|
||||
ledClass, ledId, which: int16): TStatus{.libx11c, importc: "XkbGetDeviceLedInfo".}
|
||||
proc XkbSetDeviceInfo*(dpy: PDisplay, which: int16, devi: PXkbDeviceInfoPtr): bool{.
|
||||
cdecl, dynlib: libX11, importc: "XkbSetDeviceInfo".}
|
||||
libx11c, importc: "XkbSetDeviceInfo".}
|
||||
proc XkbChangeDeviceInfo*(dpy: PDisplay, desc: PXkbDeviceInfoPtr,
|
||||
changes: PXkbDeviceChangesPtr): bool{.cdecl,
|
||||
dynlib: libX11, importc: "XkbChangeDeviceInfo".}
|
||||
changes: PXkbDeviceChangesPtr): bool{.libx11c, importc: "XkbChangeDeviceInfo".}
|
||||
proc XkbSetDeviceLedInfo*(dpy: PDisplay, devi: PXkbDeviceInfoPtr,
|
||||
ledClass, ledID, which: int16): bool{.cdecl,
|
||||
dynlib: libX11, importc: "XkbSetDeviceLedInfo".}
|
||||
ledClass, ledID, which: int16): bool{.libx11c, importc: "XkbSetDeviceLedInfo".}
|
||||
proc XkbSetDeviceButtonActions*(dpy: PDisplay, devi: PXkbDeviceInfoPtr,
|
||||
first, nBtns: int16): bool{.cdecl,
|
||||
dynlib: libX11, importc: "XkbSetDeviceButtonActions".}
|
||||
first, nBtns: int16): bool{.libx11c, importc: "XkbSetDeviceButtonActions".}
|
||||
|
||||
proc XkbToControl*(c: int8): int8{.cdecl, dynlib: libX11,
|
||||
proc XkbToControl*(c: int8): int8{.libx11c,
|
||||
importc: "XkbToControl".}
|
||||
|
||||
proc XkbSetDebuggingFlags*(dpy: PDisplay, mask, flags: int16, msg: cstring,
|
||||
ctrls_mask, ctrls, rtrn_flags, rtrn_ctrls: int16): bool{.
|
||||
cdecl, dynlib: libX11, importc: "XkbSetDebuggingFlags".}
|
||||
libx11c, importc: "XkbSetDebuggingFlags".}
|
||||
proc XkbApplyVirtualModChanges*(xkb: PXkbDescPtr, changed: int16,
|
||||
changes: PXkbChangesPtr): bool{.cdecl,
|
||||
dynlib: libX11, importc: "XkbApplyVirtualModChanges".}
|
||||
changes: PXkbChangesPtr): bool{.libx11c, importc: "XkbApplyVirtualModChanges".}
|
||||
|
||||
# implementation
|
||||
|
||||
|
||||
@@ -2,21 +2,7 @@
|
||||
import
|
||||
x
|
||||
|
||||
when defined(use_pkg_config) or defined(use_pkg_config_static):
|
||||
{.pragma: libx11, cdecl, importc.}
|
||||
when defined(use_pkg_config_static):
|
||||
{.passl: gorge("pkg-config x11 --static --libs").}
|
||||
else:
|
||||
{.passl: gorge("pkg-config x11 --libs").}
|
||||
else:
|
||||
when defined(macosx):
|
||||
const
|
||||
libX11* = "libX11.dylib"
|
||||
else:
|
||||
const
|
||||
libX11* = "libX11.so"
|
||||
|
||||
{.pragma: libx11, cdecl, dynlib: libX11, importc.}
|
||||
include "x11pragma.nim"
|
||||
|
||||
type
|
||||
cunsigned* = cint
|
||||
|
||||
Reference in New Issue
Block a user