#pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "commons/commons_array_def.h" #include "commons/commons_gamepad.h" // IWYU pragma: export #include "commons/commons_inline_string.h" #include "commons/commons_keyboard.h" #include "commons/commons_platform.h" #include "commons/commons_time.h" // IWYU pragma: export #ifdef __clang__ #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wkeyword-macro" #endif #define explicit explicit_ #ifdef __clang__ #pragma clang diagnostic pop #endif #include #undef explicit auto API X11GetConn() -> xcb_connection_t*; auto API X11GetScreenIndex() -> int; auto API X11GetScreen() -> xcb_screen_t*; auto API X11GetRoot() -> xcb_window_t; void API X11Grab(); void API X11Ungrab(); void API X11Flush(); auto API X11GetXInputExtensionMajorOpCode() -> uint32_t; auto API X11GetAtoms() -> const x11_atoms&; auto API X11InternAtom(byteview name, bool onlyIfExists) -> xcb_atom_t; auto API X11CreateWin(uint32_t width, uint32_t height, bool overrideRedirect, xcb_event_mask_t eventMask) -> xcb_window_t; auto API X11WinGetHandle() -> xcb_window_t; void API X11SetWindow(xcb_window_t window); void API X11SendClientMessage32(xcb_window_t window, xcb_atom_t type, xcb_atom_t arg1, uint32_t arg2, uint32_t arg3, uint32_t arg4); void API X11SendWmTakeFocus(xcb_window_t window, uint32_t time); void API X11SendWmDeleteWindow(xcb_window_t window); void API X11SendConfigureNotify(xcb_window_t window, xcb_window_t parent, int16_t x, int16_t y, uint16_t width, uint16_t height, uint16_t borderWidth); auto API X11ConvertKeyPhysicalIntoXkbName(key Key) -> byteview; auto API X11KeyPhysicalToKeyCode(key Key) -> uint32_t; auto API X11KeyCodeToKeyPhysical(uint32_t keyCode, key* outKey) -> bool; // RandR monitor tracking void API X11RandRInit(); auto API X11RandRGetEventOffset() -> uint32_t; // Rebuild keycode table after keyboard change void API X11RefreshKeyboardMapping(); //