Commit graph

59 commits

Author SHA1 Message Date
Peter Hutterer
a657dd0b45 meson.build: use built-in variable substitution handling instead of sed
Generated outputs are identical

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-03-10 09:41:59 +00:00
Hannah Rittich
4901f35cac Corrected comments in keysymdef.h. 2021-03-01 21:20:24 +00:00
Peter Hutterer
08549dc858 XF86keysym.h: fix a few references to invalid keys
No change to the header, comments only.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-17 10:17:54 +10:00
Peter Hutterer
ea9cf61a10 XF86keysyms.h: add some keycodes from kernels 2.6.11 and earlier
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-08 14:52:02 +10:00
Peter Hutterer
577a56840b XF86keysyms.h: add comments for some keycodes from 2.6.1x kernels
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08 14:52:02 +10:00
Peter Hutterer
941d3952d3 XF86keysyms.h: add some keycodes from 2.6.2x kernels
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-08 14:52:02 +10:00
Peter Hutterer
7f20931985 XF86keysyms.h: add some keycodes from 2.6.3x kernels
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-08 14:52:02 +10:00
Peter Hutterer
c52d104fdc XF86keysyms.h: add comment for new keycodes from kernel v3.1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08 14:52:02 +10:00
Peter Hutterer
5ffc4c4baa XF86keysyms.h: add new keycodes from kernel v3.10
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08 14:52:02 +10:00
Peter Hutterer
0519088bc6 XF86keysyms.h: add new keycodes from kernel v3.13
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-08 14:52:02 +10:00
Peter Hutterer
7dbe7b7a36 XF86keysyms.h: add new keycodes from kernel v3.16
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08 14:52:02 +10:00
Peter Hutterer
ef0e6b8e21 XF86keysyms.h: add new keycodes from kernel v3.18
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08 14:52:02 +10:00
Peter Hutterer
caca9d41b2 XF86keysyms.h: add new keycodes from kernel v4.1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08 14:52:02 +10:00
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