[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 01/15] ui: add keycodemapdb repository as a GIT
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH 01/15] ui: add keycodemapdb repository as a GIT submodule |
Date: |
Thu, 10 Aug 2017 13:23:08 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 |
On 08/10/2017 10:55 AM, Daniel P. Berrange wrote:
> The https://gitlab.com/keycodemap/keycodemapdb/ repo contains a
> data file mapping between all the different scancode/keycode/keysym
> sets that are known, and a tool to auto-generate lookup tables for
> different combinations.
>
> It is used by GTK-VNC, SPICE-GTK and libvirt for mapping keys.
> Using it in QEMU will let us replace many hand written lookup
> tables with auto-generated tables from a master data source,
> reducing bugs. Adding new QKeyCodes will now only require the
> master table to be updated, all ~20 other tables will be
> automatically updated to follow.
>
> Signed-off-by: Daniel P. Berrange <address@hidden>
> ---
> +
> +ui/input-keymap-%.c: $(KEYCODEMAP_GEN) $(KEYCODEMAP_CSV) ui/Makefile.objs
> + $(call quiet-command,\
> + $(PYTHON) $(KEYCODEMAP_GEN) \
> + --lang glib2 \
> + --varname qemu_input_map_$$(echo $@ | sed -e
> "s,^ui/input-keymap-,," -e "s,\.c$$,,") \
> + code-map $(KEYCODEMAP_CSV) \
> + $$(echo $@ | sed -E -e
> "s,^ui/input-keymap-([a-zA-Z0-9]+)2([a-zA-Z0-9]+)\.c$$,\1,") \
> + $$(echo $@ | sed -E -e
> "s,^ui/input-keymap-([a-zA-Z0-9]+)2([a-zA-Z0-9]+)\.c$$,\2,") \
Can this text transformation be done using intrinsic make functions,
instead of requiring the shell to spawn external processes?
The regex looks fragile: if we ever have one keymap named '2abc' and
another named 'xyz2', then the input-keymap-xyz222abc may be difficult
to extract based on greedy matching favoring 'xyz22' 2 'abc'. Would it
be better to have 'xyz2-to-2abc' as the preferred naming in the
keycodemapdb project, to make sure the conversion names are unambiguous?
But as this is dependent on keymap names, I don't think it's a
showstopper for this patch.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [PATCH 00/15] Convert over to use keycodemapdb, Daniel P. Berrange, 2017/08/10
- [Qemu-devel] [PATCH 01/15] ui: add keycodemapdb repository as a GIT submodule, Daniel P. Berrange, 2017/08/10
- Re: [Qemu-devel] [PATCH 01/15] ui: add keycodemapdb repository as a GIT submodule,
Eric Blake <=
- [Qemu-devel] [PATCH 02/15] ui: convert common input code to keycodemapdb, Daniel P. Berrange, 2017/08/10
- [Qemu-devel] [PATCH 03/15] ui: convert key events to QKeyCodes immediately, Daniel P. Berrange, 2017/08/10
- [Qemu-devel] [PATCH 04/15] ui: don't export qemu_input_event_new_key, Daniel P. Berrange, 2017/08/10
- [Qemu-devel] [PATCH 06/15] input: convert virtio-input-hid device to keycodemapdb, Daniel P. Berrange, 2017/08/10