Commit graph

2693 commits

Author SHA1 Message Date
Peter Hutterer
86ffbbc295 gitlab CI: add a job to compare meson and autotools standard installs
Build and install with meson, build and install with autotools and then run
diff to compare the two directory trees. They should be the same.

This does not install the legacy protocols, they're behind a configure switch.
The spec-build is disabled in autotools because we know meson doesn't do that
yet, so no point in comparing those.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-03-10 09:44:43 +00:00
Peter Hutterer
8f6a67d314 meson.build: install the protocol .txt files in doc
This now matches the autotools installation

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-03-10 09:41:59 +00:00
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
Peter Hutterer
242578ac6e Integrate the keysym verifier into make check
autotools can't pass arguments, so let's default to 'verify' in the script
itself and for distcheck to succeed, we need to set an environment variable to
search for the header (it's an out-of-tree build).

And due to the very faint chance of there being no python during the
xorgproto build, let's make that conditional too.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-03-10 09:39:44 +00:00
Peter Hutterer
388aa4870a Makefile.am: move the man page rules to the top
More readable grouping this way

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-03-10 09:20:42 +00:00
Peter Hutterer
343dc74e52 Makefile.am: reorder the protocols to group by default and LEGACY
An alphabetically ordered list is nice, but it's harder to figure out
based on a diff whether a commit affects the legacy protocols or not.
Let's group those separately, first the normal protocol files, then all the
legacy-only ones.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-03-10 09:20:42 +00:00
Hannah Rittich
4901f35cac Corrected comments in keysymdef.h. 2021-03-01 21:20:24 +00:00
Peter Hutterer
5d37740f4a xorgproto-2021.3
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-25 11:19:24 +10:00
Peter Hutterer
24e4a847a9 gitlab CI: add a job to build with meson from the autotools tarball
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-24 15:48:13 +10:00
Peter Hutterer
7b6836f0d5 autotools: add the keysym-generator script to EXTRA_DIST
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-24 15:27:55 +10:00
Peter Hutterer
2bce6cefea xorgproto 2021.2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-24 14:39:14 +10:00
Peter Hutterer
0fef97c1e2 configure.ac: remove trailing whitespaces
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-24 14:39:14 +10:00
Peter Hutterer
882505e818 gitlab CI: add an autotools distcheck job
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-24 14:31:20 +10:00
Peter Hutterer
e5d8af9711 scripts: make sure all "Use: XK_Foo" comments point to existing symbols
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-17 10:54:14 +10:00
Peter Hutterer
ff19ac58e1 scripts: use a named pattern for the hexcode check in comments
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-17 10:18:19 +10: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
70e990f09c gitlab CI: add a basic build test
Build an Arch image that tests a meson build with all build options we support
(well, the single one so far).

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-01-21 08:55:35 +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
orbea
e4d9ffdd51 meson: Use configure_file for pc files.
Meson's pkg.generate() is not suitable for header only libraries
and using configure_file() allows for more fine tuned control.
This also makes the meson and autotools builds more in sync where
they both use the same .pc.in files.

v2: Drop exec_prefix.
2020-08-24 15:01:44 +00:00
orbea
daffc5b462 pkgconfig: Drop exec_prefix from the .pc.in files.
This is not used by xorg-devel which contains only headers.
2020-08-24 15:01:44 +00:00
Povilas Kanapickas
2e18c08aca specs: Make links between XI2 enum and event names explicit 2020-08-18 09:36:39 +00:00
Povilas Kanapickas
49720c7548 specs: Improve description of detail field in XIPassiveGrabDevice 2020-08-18 09:36:39 +00:00
Povilas Kanapickas
97b47b5065 specs: Improve description of detail field in DeviceEvent 2020-08-18 09:36:39 +00:00
Povilas Kanapickas
5371f0d4f8 specs: Fix example of touch event processing 2020-08-18 09:36:39 +00:00
Povilas Kanapickas
31aa0990d6 specs: Use non-hyphenated spelling of nonzero 2020-08-18 09:36:39 +00:00
Povilas Kanapickas
8936fcea33 specs: Improve consistency of grammar in a list 2020-08-18 09:36:39 +00:00
Povilas Kanapickas
b93a47beb5 specs: Only key code can be grabbed, not key symbol 2020-08-18 09:36:39 +00:00
Povilas Kanapickas
0f72d2d0b9 specs: Fix incorrect wording for ignored parameter 2020-08-18 09:36:39 +00:00