Skip to content

Initial support for keycodemapdb GIT submodule

Daniel P. Berrange qemu-devel 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v8 Latest6 patches 3 repliesIn review
  2. v76 patches 9 repliesSuperseded
  3. v66 patches 5 repliesSuperseded

Changes in v8 from the cover letter

- Fix error checking in archive-source.sh changes (Eric)
- Use -e instead of -d to check for .git (Eric)
- Misc typos (Eric)
- Use && instead of ; in make shell rules (Eric)
- Fully quote $source_path usage (Eric)
- Fix position of trap statement for cleanup (Eric)
- Added missing dependnacy for Makefile (Patchew)
- Moved build rules from ui/Makefile.objs into Makefile because we must not have those rules defined in the target specific Makefiles

Patches in v8 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6build: automatically handle GIT submodule checkout for dtc.gitignore MAINTAINERS Makefile +2 more+95 -210 replies
2/6docker: don't rely on submodules existing in the main checkoutscripts/archive-source.sh+28 -62 replies
3/6ui: add keycodemapdb repository as a GIT submodule.gitignore .gitmodules Makefile +3 more+31 -20 replies
4/6ui: convert common input code to keycodemapdbMakefile include/ui/input.h ui/input-keymap.c+28 -3120 replies
5/6ui: convert key events to QKeyCodes immediatelyui/input.c+17 -70 replies
6/6ui: don't export qemu_input_event_new_keyinclude/ui/input.h ui/input.c+1 -20 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v8 yet.

Read the v8 thread

Cover letter [Qemu-devel] [PATCH v8 0/6] Initial support for keycodemapdb GIT submodule

This patch series is an update to:

v1: https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg02047.html
v2: https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg02471.html
v3: https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg02517.html
v4: https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg02708.html
v5: https://lists.gnu.org/archive/html/qemu-devel/2017-09/msg02950.html
v6: https://lists.gnu.org/archive/html/qemu-devel/2017-09/msg07673.html
v7: https://lists.gnu.org/archive/html/qemu-devel/2017-09/msg07740.html

The keycodemap project[1] provides a database mapping between many different keysym/keycode/scancode sets, along with a tool to generate mapping/lookup tables in various programming languages. It is already used by GTK-VNC, SPICE-GTK and libvirt.

In this v6 posting I have dropped most of the conversion to keycodemapdb across the devices / UI frontends. This only converts the core input APIs, and wires up the git submodule build system mechanics. The remaining patches from the v5 posting will be submitted separately, once this initial conversion is mergable.

Changed in v8:

- Fix error checking in archive-source.sh changes (Eric)
- Use -e instead of -d to check for .git (Eric)
- Misc typos (Eric)
- Use && instead of ; in make shell rules (Eric)
- Fully quote $source_path usage (Eric)
- Fix position of trap statement for cleanup (Eric)
- Added missing dependnacy for Makefile (Patchew)
- Moved build rules from ui/Makefile.objs into Makefile because we must not have those rules defined in the target specific Makefiles

Changed in v7:

- subdir-dtc and ui/input-keymap-* make rules must depend on the submodule status file to ensure build ordering (patchew)
- Use 'git stash' to ensure archive-source.sh keeps non-committed changes for docker/vm testing (Fam)

Changed in v6:

- Switched back to using a git submodule
- Wire up Makefile rules so that git submodule is automatically refreshed when needed prior to build.
- Fix source tarball creation for docker/vm tests wrt submodules

Changed in v5:

- Don't try to initialize git submodule at all
- Store generate keymap files in GIT

Changed in v4:

- Run submodule update in source_dir for vpath builds (patchew)
- Force submodule update in docker rules in case they are run without configure (patchew)

Changed in v3:

- Ensure docker builds pull in keycodemapdb submodule (patchew)
- Add compat with py26 for RHEL-6 in keycodemapdb tools (patchew)
- Initialize submodule in configure script (patchew)

Changed in v2:

- Change filename pattern to 'ui/input-keymap-$SRC-to-$DST.c' and map names 'qemu_input_map_$SRC_to_$DST' (Eric)
- Fix typos (Eric)
- Drop changes to InputKeyEvent struct (Eric)
- Fix VPATH build (patchew)
- Fix code style errors (patchew)

[1] https://gitlab.com/keycodemap/keycodemapdb/

Daniel P. Berrange (6):
build: automatically handle GIT submodule checkout for dtc
docker: don't rely on submodules existing in the main checkout
ui: add keycodemapdb repository as a GIT submodule
ui: convert common input code to keycodemapdb
ui: convert key events to QKeyCodes immediately
ui: don't export qemu_input_event_new_key

 .gitignore                |   2 +
 .gitmodules               |   3 +
 MAINTAINERS               |   6 +
 Makefile                  |  46 ++++++-
 configure                 |  52 +++++---
 include/ui/input.h        |  12 +-
 scripts/archive-source.sh |  34 ++++-
 scripts/git-submodule.sh  |  38 ++++++
 ui/input-keymap.c         | 326 +++-------------------------------------------
 ui/input.c                |  26 ++--
 ui/keycodemapdb           |   1 +
 11 files changed, 198 insertions(+), 348 deletions(-)
 create mode 100755 scripts/git-submodule.sh
 create mode 160000 ui/keycodemapdb
Signature · 1 line
2.13.5