Commit graph

46 commits

Author SHA1 Message Date
Peter Hutterer
0f8b4d48b9 XF86keysyms.h: add new keycodes from kernel v4.7
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08 14:52:02 +10:00
Peter Hutterer
9b54c3c539 XF86keysyms.h: add new keycodes from kernel v4.12
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08 14:52:02 +10:00
Peter Hutterer
58f5208d87 XF86keysyms.h: add new keycodes from kernel v4.13
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08 14:52:02 +10:00
Peter Hutterer
8ad9743ccd XF86keysyms.h: add comment for new keycodes from kernel v4.16
This keysym is already available under a different name, see
000ebed576

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08 14:52:02 +10:00
Peter Hutterer
8ed8a8064b XF86keysyms.h: add new keycodes from kernel v5.1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08 14:52:02 +10:00
Peter Hutterer
901330ae05 XF86keysyms.h: add new keycodes from kernel v5.2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08 14:52:02 +10:00
Peter Hutterer
b87f02fe15 XF86keysyms.h: add new keycodes from kernel v5.5
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08 14:52:02 +10:00
Peter Hutterer
d110d97e34 XF86keysyms.h: add new keycodes from kernel v5.6
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08 14:52:02 +10:00
Peter Hutterer
c833b7c0e9 XF86keysyms.h: add new keycodes from kernel v5.10
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08 14:52:02 +10:00
Peter Hutterer
5dbb5b7659 XF86keysym.h: reserve a range for Linux kernel keysyms
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-02-08 14:52:02 +10:00
Peter Hutterer
32ada053a3 Remove misleading comment about not adding syms to XF86keysym.h
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>
2021-01-18 11:48:23 +10:00
Alan Coopersmith
21e05da99c XKB: Mark key name arrays as not NUL-terminated strings
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-10 14:22:35 -07:00
Alan Coopersmith
50671520ef Xfuncproto: define _X_NONSTRING for __attribute__((nonstring))
Bumps xproto version to 7.0.33

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
2020-10-10 14:22:24 -07:00
Alan Coopersmith
09602b2130 Fix spelling/wording issues
Found by using:
  codespell --builtin clear,rare,usage,informal,code,names

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2020-08-08 10:33:56 -07:00
Samuel Thibault
a8ccf66bc9 keysymdef: Fix left/rightanglebracket Unicode equivalent
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-07 14:42:40 +02:00
Samuel Thibault
39eb59740d keysymdef.h: Fix the documented perl regexp
+ is interpreted when not escaped.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
2020-07-07 13:31:37 +02:00
Samuel Thibault
959d4442e4 keysymdef: Add Hangul unicode equivalents
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
2020-07-07 11:24:04 +02:00
Samuel Thibault
84986de39b keysymdef: Add vietnamese dead accents
These are used in the vn layout.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
2020-07-07 09:46:40 +02:00
Sebastian Wick
15329c5a0d XF86keysym: Add XF86XK_FullScreen
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-03-09 16:44:31 +01:00
Alexander Volkov
564d18c8e5 Add DPMSInfoNotify event
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-26 15:44:33 +03:00
Ross Burton
032909626b meson: mark more extensions as legacy
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>
2020-02-25 16:28:10 +00:00
Adam Jackson
1547c1cc3c Move remaining xlib-entwined headers to LEGACY
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-10-08 14:58:32 -04:00
Jon Turney
e0d4e02710
Move windowswmproto to legacy 2019-07-22 11:05:32 +01:00
Thomas E. Dickey
6bb0d500e5
Update Xalloca.h to reduce compiler warnings:
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-05-08 04:55:29 -04:00
Alan Coopersmith
aab29f80f4 keysymdef.h: Update repo info in comments
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2019-02-17 16:11:41 -08:00
Matthieu Herrb
a06b0e2734 Remove RCS Ids
Signed-off-by: Matthieu Herrb <matthieu@herrb.eu>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2019-01-30 22:45:26 +01:00
Peter Hutterer
a985f35f97 Fix comment for XK_Ocaron
Reported by: Keve Müller
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-01-25 10:41:34 +10:00
Hans de Goede
000ebed576 XF86keysym: Add XF86XK_RotationLockToggle
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>
2019-01-22 08:13:52 +01:00
Jian-Hong Pan
4e9f4e6136 XF86keysym: Add XF86XK_MonBrightnessCycle
Add XF86XK_MonBrightnessCycle keysym, to be used as mapping for evdev's
KEY_BRIGHTNESS_CYCLE keycode which is generated from ACPI video module's
ACPI_VIDEO_NOTIFY_CYCLE_BRIGHTNESS on some Acer AIO desktop buttons.
The button changes the screen's brightness on Windows.

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=108861
Signed-off-by: Jian-Hong Pan <jian-hong@endlessm.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2019-01-21 19:48:26 +01:00
Alan Coopersmith
a9b3ddf3c9 Assorted typo fixes in headers
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2018-11-10 12:32:13 -08:00
Alan Coopersmith
641db34376 Remove the use of no-op B16 & B32 bitfield macros in headers
These have always done nothing on all platforms except CRAY.
As https://bugs.freedesktop.org/show_bug.cgi?id=45202 points out
we don't even detect when they've been wrong for decades.

Performed via:
find include -name '*.h' | grep -v md.h | xargs perl -i -p -e 's{\s+B\d+}{}g'
followed by manual whitespace fixups to preserve visual alignment.

The #defines for B16 & B32 are left in place to preserve compatibility
in any code that used them outside the xorgproto repo.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2018-11-10 12:31:50 -08:00
Roman Kapl
af9b5f4343 Improve the ButtonInfo description.
It failed to mention it is followed by a bit-mask and then the atoms.

Signed-off-by: Roman Kapl <code@rkapl.cz>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-06-27 10:20:59 +10:00
Alan Coopersmith
eb28f0378f Remove trailing whitespace from header files
Performed with:
find include -name '*.h' | xargs perl -i -p -e 's{[ \t]+$}{}'
"git diff -w" shows no changes from this changeset.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2018-06-16 09:16:52 -07:00
Adam Jackson
30a2013800 randrproto: Fix missing #undef RRLease
clang did not like this, and it's hard to blame it:

../randr/randrstr.h:66:13: warning: redefinition of typedef 'CARD32' is a C11 feature [-Wtypedef-redefinition]
typedef XID RRLease;
            ^
/opt/X11/include/X11/extensions/randrproto.h:53:17: note: expanded from macro 'RRLease'
                ^
/opt/X11/include/X11/Xmd.h:111:23: note: previous definition is here
typedef unsigned long CARD32;

Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-03-19 15:25:13 -04:00
Keith Packard
702d2eaecd screensaver: Fix encoding of ScreenSaverSuspend 'suspend' element
Was using Bool, which is not a defined X protocol encoding type and
has presumably been a 32-bit type. Switch to a CARD32 to be compatible
while at least being well defined.

Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Mihai Moldovan <ionic@ionic.de>
2018-03-14 10:19:19 -07:00
Louis-Francis Ratté-Boulianne
751cf1e19e presentproto: PresentCompleteModeSuboptimalCopy flag
If the Complete event has this mode, the client is not using
the more optimal format/modifier for the buffer allocation. The
client must explicitely inform the server that it understands
this mode by adding the PresentOptionSuboptimal flag when calling
PresentPixmap.

Its main usage as of now is to allow clients to re-fetch DRI3
format modifiers as some modifiers might allow direct scanout.

Bump presentproto version to 1.2.

Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
2018-02-28 11:13:11 -05:00
Louis-Francis Ratté-Boulianne
0fca474cd6 dri3: Add modifier/multi-plane requests, bump to v1.2
DRI3 version 1.2 adds support for explicit format modifiers,
including multi-planar buffers.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
2018-02-28 11:13:11 -05:00
Adam Jackson
c1c8cf7360 glproto: Add compatibility #defines for the typos we corrected
Apparently there does exist code that uses the typoed names.

Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-02-14 15:58:46 -05:00
Keith Packard
e681f8de0c randr: Add non-desktop output property and behaviors [v3]
non-desktop devices are those to which the normal desktop environment
should not be extended. Examples are Head-mounted displays and the
Apple Touch Bar.

How an output device is set to non-desktop is not part of this
proposal; it is expected that the underlying operating system will
provide this information and have it reflected to X applications
through this extension.

v2: fix puncutation and duplicated 'the'.
v3: switch to 32-bit property named non-desktop to match Linux

Signed-off-by: Keith Packard <keithp@keithp.com>
2018-02-12 13:54:19 -05:00
Keith Packard
14f68c7b00 randr: Add Leases. [v4]
A "lease" is a set of crtc and output resources granted to another
application for use outside of X. These will not be usable through the
X protocol until the lease terminates. Leased outputs will be seen as
disconnected, leased CRTCs will be seen as not usable with any output.

v2:
	Delete output grabs
	Add LeaseNotify events
	Add FreeLease with option to terminate

v3:
	Clarify a couple of lease behaviors:

	* You can lease an in-use object, it makes the X server stop
	  using it, you don't get an error back.

	* There's no explicit 'Disabled' state for a crtc, when a crtc
	  is disabled, it just has a set of reported values for
	  GetCrtcInfo.

v4:
	Integrate into merged xorgproto repo

Signed-off-by: Keith Packard <keithp@keithp.com>
2018-02-12 13:54:13 -05:00
Adam Jackson
193b75db8c meson: Spread the install rules into their subdirs
Mostly this is is so the generated Xpoll.h can be emitted into a usable
directory when we build as a subproject.

Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-02-01 15:01:56 -05:00
Adam Jackson
7409bb6612 xproto: Stop generating Xfuncproto.h
This no longer varies at compile time, yay.

Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-02-01 14:55:30 -05:00
Adam Jackson
c9120fbdce xproto: Stop "computing" a value for FUNCPROTO
This macro is apparently an imake-ism for how much C89 you support.
Seeing as it's 2018 the answer is "all of it", and if that's not
actually true for your platform you need a better compiler.

Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-02-01 14:50:32 -05:00
Adam Jackson
05b1963945 xproto: Move NARROWPROTO logic out of configure time
Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-02-01 14:47:38 -05:00
Adam Jackson
9d14a8fade Move the headers under include/X11/...
I kinda hate to do this, it was nice to have everything in one place.
However, the meson build wants to be able to wrap this module as a
dependency, and code that depends on these headers includes them in the
form:

    #include <X11/Xfuncproto.h>

As a result, any include path meson can construct needs to point to the
root of a hierarchy that has the same path layout as an installed copy,
hence this change.

Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-01-30 12:31:15 -05:00
Dylan Baker
09961387c2 Move headers into structured include directory
So that meson can use that as an include path for dependencies.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
2017-11-06 14:30:28 -05:00