summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2022-08-05Add the XWAYLAND extensionPeter Hutterer
This extension exists to serve one purpose: reliably identifying Xwayland. Previous attempts at doing so included querying root window properties, output names or input device names. All these attempts are somewhat unreliable. Instead, let's use an extension - where that extension is present we have an Xwayland server. Clients should never need to do anything but check whether the extension exists through XQueryExtension/XListExtensions. This extension provides a single QueryVersion request only, and that is only to provide future compatibility if we ever need anything other than "this extension exists" functionality. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
2022-07-23Win32: Fix collision over 'ControlMask'Jon Turney
Workaround the collision between ControlMask #defined in X11/X.h and ControlMask used as the name of a structure member in w32api/processthreadsapi.h in w32api 10.0.0
2022-05-25DRI3: Add DRI3SetDRMDeviceInUseAustin Shafer
DRI3SetDRMDeviceInUse is a hint that lets a client tell the server what DRM device it is currently using. This lets the server make more informed decisions for what modifiers to return to the client. This is needed for proper linux dmabuf feedback with Xwayland
2022-03-25XF86keysyms.h: add new keycodes from kernel v5.17Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-11-09XF86keysyms.h: add new keycodes from kernel v5.13Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-06-15Define LONG64 if __SIZEOF_LONG__ indicates 64-bit longAlex Richardson
All modern compilers (GCC>=4.6, Clang>=3.0) define this macro, so we can use it to detect 64-bit longs without adding to the architecture list. This change allows me to successfully run a simple X11 window on a 64-bit FreeBSD RISC-V QEMU VM via SSH forwarding. Without this change I get an error that DISPLAY cannot be opened. Signed-off-by: Alex Richardson <Alexander.Richardson@cl.cam.ac.uk>
2021-05-11include: Add support for XI 2.4 gesture input eventsPovilas Kanapickas
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2021-04-29xfixes: Add ClientDisconnectModeOlivier Fourdan
The Xserver itself is capable of terminating itself once all X11 clients are gone, yet in a typical full session, there are a number of X11 clients running continuously (e.g. the Xsettings daemon, IBus, etc.). Those always-running clients will prevent the Xserver from terminating, because the actual number of X11 clients will never drop to 0. To solve this issue directly at the Xserver level, this add new entries to the XFixes extension to let the X11 clients themselves specify the disconnect mode they expect. Typically, those X11 daemon clients would specify the disconnect mode XFixesClientDisconnectFlagTerminate to let the Xserver know that they should not be accounted for when checking the remaining clients prior to terminate. Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
2021-03-11Deprecate XK_approxeq and XK_notapproxeq.Pierre Le Marre
Fixes #20
2021-03-10meson.build: use built-in variable substitution handling instead of sedPeter Hutterer
Generated outputs are identical Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-03-01Corrected comments in keysymdef.h.Hannah Rittich
2021-02-17XF86keysym.h: fix a few references to invalid keysPeter Hutterer
No change to the header, comments only. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08XF86keysyms.h: add some keycodes from kernels 2.6.11 and earlierPeter Hutterer
These keysyms were already present in 2.6.11 which is the first tag in git. A few notes on specific keys here: - KEY_EJECTCLOSECD is theoretically different to XF86XK_Eject (kernel KEY_EJECTCD) but the actual usage in the hwdb remappings seems to be random. Either way it's already mapped to XF86XK_Eject in symbols/inet so let's just add an entry for the sake of documenting it. - XF86XK_CycleAngle seems like the best match for KEY_ANGLE Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08XF86keysyms.h: add comments for some keycodes from 2.6.1x kernelsPeter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08XF86keysyms.h: add some keycodes from 2.6.2x kernelsPeter Hutterer
A few notes on specific keys here: - Some existing keysyms used some brand names. e.g. KEY_WORDPROCESSOR -> existing XF86XK_Word. This introduces some minor inconsistency with unbranded new keys like KEY_GRAPHICSEDITOR -> XF86XK_GraphicsEditor. - XF86XK_DisplayToggle is *not* XF86XK_Display (which represents KEY_SWITCHVIDEOMODE) Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08XF86keysyms.h: add some keycodes from 2.6.3x kernelsPeter Hutterer
A few notes on specific keys here: - There are exiting XF86XK_ZoomIn/Out keys, but they don't seem appropriate for KEY_CAMERA_ZOOMIN and friends. New symbols are introduced here. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08XF86keysyms.h: add comment for new keycodes from kernel v3.1Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08XF86keysyms.h: add new keycodes from kernel v3.10Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08XF86keysyms.h: add new keycodes from kernel v3.13Peter Hutterer
ALSToggle has a terrible name, it's the Ambient Light Sensor. But it matches the kernel define so... Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08XF86keysyms.h: add new keycodes from kernel v3.16Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08XF86keysyms.h: add new keycodes from kernel v3.18Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08XF86keysyms.h: add new keycodes from kernel v4.1Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08XF86keysyms.h: add new keycodes from kernel v4.7Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08XF86keysyms.h: add new keycodes from kernel v4.12Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08XF86keysyms.h: add new keycodes from kernel v4.13Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08XF86keysyms.h: add comment for new keycodes from kernel v4.16Peter Hutterer
This keysym is already available under a different name, see https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/commit/000ebed576aafb44caeea8b6a5de90fba2bdc389 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08XF86keysyms.h: add new keycodes from kernel v5.1Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08XF86keysyms.h: add new keycodes from kernel v5.2Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08XF86keysyms.h: add new keycodes from kernel v5.5Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08XF86keysyms.h: add new keycodes from kernel v5.6Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08XF86keysyms.h: add new keycodes from kernel v5.10Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08XF86keysym.h: reserve a range for Linux kernel keysymsPeter Hutterer
The Linux kernel adds a few evdev keycodes roughly every other release. These aren't available as keysyms through XKB until they have been added as keycode in xkeyboard-config and mapped there to a newly defined keysym in the X11 proto headers. In the past, this was done manually, a suitable keysym was picked at random and the mapping updated accordingly. This doesn't scale very well and, given we have a large reserved range for XF86 keysyms anyway, can be done easier. Let's reserve the range 0x10081XXX range for a 1:1 mapping of Linux kernel codes. That's 4095 values, the kernel currently uses only 767 anyway. The lower 3 bytes of keysyms within that range have to match the kernel value to make them easy to add and search for. Nothing in X must care about the actual keysym value anyway. Since we expect this to be parsed by other scripts for automatic updating, the format of those #defines is quite strict. Add a script to generate keycodes as well as verify that the existing ones match the current expected format. The script is integrated into the CI and meson test, so we will fail if an update breaks the expectations. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-01-18Remove misleading comment about not adding syms to XF86keysym.hPeter Hutterer
We've been adding to those over the last few years. Not a huge amount but enough that we should stop pretending we don't touch that header. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-10-10XKB: Mark key name arrays as not NUL-terminated stringsAlan Coopersmith
They are fixed length (4 characters), and don't need NUL-terminators. This makes gcc stop warning when they're not NUL-terminated, and instead warn if they are passed to functions expecting NUL-terminated strings. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
2020-10-10Xfuncproto: define _X_NONSTRING for __attribute__((nonstring))Alan Coopersmith
Bumps xproto version to 7.0.33 Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
2020-08-08Fix spelling/wording issuesAlan Coopersmith
Found by using: codespell --builtin clear,rare,usage,informal,code,names Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2020-07-07keysymdef: Fix left/rightanglebracket Unicode equivalentSamuel Thibault
As of version 7.7, the X protocol does not define a Unicode equivalent for them. The U+27E8 and U+27E9 equivalents were introduced by 618956f1f ("The big keysym cleanup, to bring implementation in line with the recent revision of Appendix A of the protocol spec."), but as xterm Patch #226 explicitly notes, U+2329 and U+232A should be used rather than U+27E8 and U+27E9. Gtk also inherited this. Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
2020-07-07keysymdef.h: Fix the documented perl regexpSamuel Thibault
+ is interpreted when not escaped. Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
2020-07-07keysymdef: Add Hangul unicode equivalentsSamuel Thibault
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
2020-07-07keysymdef: Add vietnamese dead accentsSamuel Thibault
These are used in the vn layout. Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
2020-03-09XF86keysym: Add XF86XK_FullScreenSebastian Wick
Add XF86XK_FullScreen keysym, to be used as mapping for evdev's KEY_FULL_SCREEN. Chromebooks have a special media key for toggling full screen mode. Signed-off-by: Sebastian Wick <sebastian@sebastianwick.net>
2020-02-26Add DPMSInfoNotify eventAlexander Volkov
This will allow applications to respond to changes of power level of a monitor, e.g. an application may stop rendering and related calculations when the monitor is off. Bump DPMS version to 1.2, install dpmsproto.pc. Signed-off-by: Alexander Volkov <a.volkov@rusbitech.ru>
2020-02-25meson: mark more extensions as legacyRoss Burton
The Meson and Autotools builds disagree about what extensions are legacy. This patch makes the Meson build identical to autotools. Signed-off-by: Ross Burton <ross.burton@intel.com>
2019-10-08Move remaining xlib-entwined headers to LEGACYAdam Jackson
These headers refer to libX11 types and don't belong in this package. libX11 and libXv have been updated to supply these headers themselves now, so these are only useful for building older versions of those libraries. Fixes: xorg/proto/xorgproto#10
2019-07-22Move windowswmproto to legacyJon Turney
2019-05-08Update Xalloca.h to reduce compiler warnings:Thomas E. Dickey
The parameter for alloca() was "int" for the (long-obsolete) SunOS 4. In Solaris and anything newer than the early 1990s, it is "size_t". Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-02-17keysymdef.h: Update repo info in commentsAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2019-01-30Remove RCS IdsMatthieu Herrb
Signed-off-by: Matthieu Herrb <matthieu@herrb.eu> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2019-01-25Fix comment for XK_OcaronPeter Hutterer
Reported by: Keve Müller Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-01-22XF86keysym: Add XF86XK_RotationLockToggleHans de Goede
Add XF86XK_RotationLockToggle keysym, to be used as mapping for evdev's KEY_ROTATE_LOCK_TOGGLE. I've a Point of View P1006W-232 Windows tablet which actually has a rotate-lock toggle-button. The latest kernel correctly generates KEY_ROTATE_LOCK_TOGGLE events for this. So now I'm hooking up support for it through all the higher layers. Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jian-Hong Pan <jian-hong@endlessm.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>