Re: [Spice-devel] [PATCH] Switch over to using keycodemapdb submodule
On Wed, Feb 15, 2017 at 04:44:22PM +0100, Pavel Grunt wrote: > nice, although the python script looks pretty heavy. Different users of the keymap database have different output formats. We don't want ever user re-implementing the same logic, as that's just as bad what we have today. So the tool is designed to satisfy current usage requireents from libvirt, gtk-vnc & spice-gtk > Anyway, in spice-gtk we support python3, imo it cannot go in without > the python3 support. Ok, that's easy enough todo. Regards, Daniel -- |: http://berrange.com -o-http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://entangle-photo.org -o-http://search.cpan.org/~danberr/ :| ___ Spice-devel mailing list Spice-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/spice-devel
Re: [Spice-devel] [PATCH] Switch over to using keycodemapdb submodule
Hi, nice, although the python script looks pretty heavy. Anyway, in spice-gtk we support python3, imo it cannot go in without the python3 support. Thanks, Pavel On Wed, 2017-02-15 at 15:17 +, Daniel P. Berrange wrote: > Signed-off-by: Daniel P. Berrange > --- > .gitmodules | 3 + > configure.ac | 11 -- > src/Makefile.am | 30 ++-- > src/keycodemapdb | 1 + > src/keymap-gen.pl | 214 --- > src/keymaps.csv | 511 - > - > 6 files changed, 17 insertions(+), 753 deletions(-) > create mode 16 src/keycodemapdb > delete mode 100755 src/keymap-gen.pl > delete mode 100644 src/keymaps.csv > > diff --git a/.gitmodules b/.gitmodules > index 0c618ee..82467e4 100644 > --- a/.gitmodules > +++ b/.gitmodules > @@ -1,3 +1,6 @@ > [submodule "spice-common"] > path = spice-common > url = ../spice-common > +[submodule "src/keycodemapdb"] > + path = src/keycodemapdb > + url = https://gitlab.com/keycodemap/keycodemapdb.git > diff --git a/configure.ac b/configure.ac > index 463fbe0..763d14b 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -86,17 +86,6 @@ AC_SUBST(SPICE_GTK_MICRO_VERSION) > dnl > > = > dnl Chek optional features > > -srcdir="$(dirname $0)" > -if test ! -e "$srcdir/src/vncdisplaykeymap_osx2xtkbd.c"; then > - AC_MSG_CHECKING([for Text::CSV Perl module]) > - perl -MText::CSV -e "" >/dev/null 2>&1 > - if test $? -ne 0 ; then > -AC_MSG_RESULT([not found]) > -AC_MSG_ERROR([Text::CSV Perl module is required to compile this > package]) > - fi > - AC_MSG_RESULT([found]) > -fi > - > SPICE_GLIB_REQUIRES="" > SPICE_GTK_REQUIRES="" > > diff --git a/src/Makefile.am b/src/Makefile.am > index 7542fac..76c2755 100644 > --- a/src/Makefile.am > +++ b/src/Makefile.am > @@ -26,14 +26,13 @@ GLIBGENS = > \ > spice-widget-enums.h\ > $(NULL) > > -CLEANFILES = $(GLIBGENS) > +CLEANFILES = $(GLIBGENS) $(KEYMAPS) > BUILT_SOURCES = $(GLIBGENS) $(KEYMAPS) > > EXTRA_DIST = \ > - $(KEYMAPS) \ > decode-glz-tmpl.c \ > - keymap-gen.pl \ > - keymaps.csv \ > + $(KEYMAP_CSV) \ > + $(KEYMAP_GEN) \ > map-file\ > spice-glib-sym-file \ > spice-gtk-sym-file \ > @@ -66,7 +65,8 @@ GTK_SYMBOLS_LDFLAGS = -export-symbols > ${srcdir}/spice-gtk-sym-file > GTK_SYMBOLS_FILE = spice-gtk-sym-file > endif > > -KEYMAP_GEN = $(srcdir)/keymap-gen.pl > +KEYMAP_GEN = keycodemapdb/tools/keymap-gen > +KEYMAP_CSV = keycodemapdb/data/keymaps.csv > > SPICE_COMMON_CPPFLAGS = > \ > -DSPICE_COMPILATION > \ > @@ -483,32 +483,28 @@ spice-widget-enums.h: spice-widget.h > > > vncdisplaykeymap.c: $(KEYMAPS) > +$(KEYMAPS): $(srcdir)/$(KEYMAP_GEN) $(srcdir)/$(KEYMAP_CSV) > > -$(KEYMAPS): $(KEYMAP_GEN) keymaps.csv > - > -# Note despite being autogenerated these are not part of > CLEANFILES, they > -# are actually a part of EXTRA_DIST to avoid the need for > perl(Text::CSV) by > -# end users > vncdisplaykeymap_xorgevdev2xtkbd.c: > - $(AM_V_GEN)$(KEYMAP_GEN) $(srcdir)/keymaps.csv xorgevdev > xtkbd > $@ || rm $@ > + $(AM_V_GEN)$(PYTHON) $(KEYMAP_GEN) --lang glib2 --varname > keymap_xorgevdev2xtkbd code-map $(srcdir)/$(KEYMAP_CSV) xorgevdev > xtkbd > $@ || rm $@ > > vncdisplaykeymap_xorgkbd2xtkbd.c: > - $(AM_V_GEN)$(KEYMAP_GEN) $(srcdir)/keymaps.csv xorgkbd > xtkbd > $@ || rm $@ > + $(AM_V_GEN)$(PYTHON) $(KEYMAP_GEN) --lang glib2 --varname > keymap_xorgkbd2xtkbd code-map $(srcdir)/$(KEYMAP_CSV) xorgkbd xtkbd > > $@ || rm $@ > > vncdisplaykeymap_xorgxquartz2xtkbd.c: > - $(AM_V_GEN)$(KEYMAP_GEN) $(srcdir)/keymaps.csv xorgxquartz > xtkbd > $@ || rm $@ > + $(AM_V_GEN)$(PYTHON) $(KEYMAP_GEN) --lang glib2 --varname > keymap_xorgxquartz2xtkbd code-map $(srcdir)/$(KEYMAP_CSV) > xorgxquartz xtkbd > $@ || rm $@ > > vncdisplaykeymap_xorgxwin2xtkbd.c: > - $(AM_V_GEN)$(KEYMAP_GEN) $(srcdir)/keymaps.csv xorgxwin > xtkbd > $@ || rm $@ > + $(AM_V_GEN)$(PYTHON) $(KEYMAP_GEN) --lang glib2 --varname > keymap_xorgxwin2xtkbd code-map $(srcdir)/$(KEYMAP_CSV) xorgxwin > xtkbd > $@ || rm $@ > > vncdisplaykeymap_osx2xtkbd.c: > - $(AM_V_GEN)$(KEYMAP_GEN) $(srcdir)/keymaps.csv osx xtkbd > > $@ || rm $@ > + $(AM_V_GEN)$(PYTHON) $(KEYMAP_GEN) --lang glib2 --varname > keymap_osx2xtkbd code-map $(srcdir)/$(KEYMAP_CSV) osx xtkbd > $@ || > rm $@ > > vncdisplaykeymap_win322xtkbd.c: > - $(AM_V_GEN)$(KEYMAP_GEN) $(srcdir)/keymaps.csv win32 xtkbd > > $@ || rm $@ > +
[Spice-devel] [PATCH] Switch over to using keycodemapdb submodule
Signed-off-by: Daniel P. Berrange --- .gitmodules | 3 + configure.ac | 11 -- src/Makefile.am | 30 ++-- src/keycodemapdb | 1 + src/keymap-gen.pl | 214 --- src/keymaps.csv | 511 -- 6 files changed, 17 insertions(+), 753 deletions(-) create mode 16 src/keycodemapdb delete mode 100755 src/keymap-gen.pl delete mode 100644 src/keymaps.csv diff --git a/.gitmodules b/.gitmodules index 0c618ee..82467e4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "spice-common"] path = spice-common url = ../spice-common +[submodule "src/keycodemapdb"] + path = src/keycodemapdb + url = https://gitlab.com/keycodemap/keycodemapdb.git diff --git a/configure.ac b/configure.ac index 463fbe0..763d14b 100644 --- a/configure.ac +++ b/configure.ac @@ -86,17 +86,6 @@ AC_SUBST(SPICE_GTK_MICRO_VERSION) dnl = dnl Chek optional features -srcdir="$(dirname $0)" -if test ! -e "$srcdir/src/vncdisplaykeymap_osx2xtkbd.c"; then - AC_MSG_CHECKING([for Text::CSV Perl module]) - perl -MText::CSV -e "" >/dev/null 2>&1 - if test $? -ne 0 ; then -AC_MSG_RESULT([not found]) -AC_MSG_ERROR([Text::CSV Perl module is required to compile this package]) - fi - AC_MSG_RESULT([found]) -fi - SPICE_GLIB_REQUIRES="" SPICE_GTK_REQUIRES="" diff --git a/src/Makefile.am b/src/Makefile.am index 7542fac..76c2755 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -26,14 +26,13 @@ GLIBGENS = \ spice-widget-enums.h\ $(NULL) -CLEANFILES = $(GLIBGENS) +CLEANFILES = $(GLIBGENS) $(KEYMAPS) BUILT_SOURCES = $(GLIBGENS) $(KEYMAPS) EXTRA_DIST = \ - $(KEYMAPS) \ decode-glz-tmpl.c \ - keymap-gen.pl \ - keymaps.csv \ + $(KEYMAP_CSV) \ + $(KEYMAP_GEN) \ map-file\ spice-glib-sym-file \ spice-gtk-sym-file \ @@ -66,7 +65,8 @@ GTK_SYMBOLS_LDFLAGS = -export-symbols ${srcdir}/spice-gtk-sym-file GTK_SYMBOLS_FILE = spice-gtk-sym-file endif -KEYMAP_GEN = $(srcdir)/keymap-gen.pl +KEYMAP_GEN = keycodemapdb/tools/keymap-gen +KEYMAP_CSV = keycodemapdb/data/keymaps.csv SPICE_COMMON_CPPFLAGS =\ -DSPICE_COMPILATION \ @@ -483,32 +483,28 @@ spice-widget-enums.h: spice-widget.h vncdisplaykeymap.c: $(KEYMAPS) +$(KEYMAPS): $(srcdir)/$(KEYMAP_GEN) $(srcdir)/$(KEYMAP_CSV) -$(KEYMAPS): $(KEYMAP_GEN) keymaps.csv - -# Note despite being autogenerated these are not part of CLEANFILES, they -# are actually a part of EXTRA_DIST to avoid the need for perl(Text::CSV) by -# end users vncdisplaykeymap_xorgevdev2xtkbd.c: - $(AM_V_GEN)$(KEYMAP_GEN) $(srcdir)/keymaps.csv xorgevdev xtkbd > $@ || rm $@ + $(AM_V_GEN)$(PYTHON) $(KEYMAP_GEN) --lang glib2 --varname keymap_xorgevdev2xtkbd code-map $(srcdir)/$(KEYMAP_CSV) xorgevdev xtkbd > $@ || rm $@ vncdisplaykeymap_xorgkbd2xtkbd.c: - $(AM_V_GEN)$(KEYMAP_GEN) $(srcdir)/keymaps.csv xorgkbd xtkbd > $@ || rm $@ + $(AM_V_GEN)$(PYTHON) $(KEYMAP_GEN) --lang glib2 --varname keymap_xorgkbd2xtkbd code-map $(srcdir)/$(KEYMAP_CSV) xorgkbd xtkbd > $@ || rm $@ vncdisplaykeymap_xorgxquartz2xtkbd.c: - $(AM_V_GEN)$(KEYMAP_GEN) $(srcdir)/keymaps.csv xorgxquartz xtkbd > $@ || rm $@ + $(AM_V_GEN)$(PYTHON) $(KEYMAP_GEN) --lang glib2 --varname keymap_xorgxquartz2xtkbd code-map $(srcdir)/$(KEYMAP_CSV) xorgxquartz xtkbd > $@ || rm $@ vncdisplaykeymap_xorgxwin2xtkbd.c: - $(AM_V_GEN)$(KEYMAP_GEN) $(srcdir)/keymaps.csv xorgxwin xtkbd > $@ || rm $@ + $(AM_V_GEN)$(PYTHON) $(KEYMAP_GEN) --lang glib2 --varname keymap_xorgxwin2xtkbd code-map $(srcdir)/$(KEYMAP_CSV) xorgxwin xtkbd > $@ || rm $@ vncdisplaykeymap_osx2xtkbd.c: - $(AM_V_GEN)$(KEYMAP_GEN) $(srcdir)/keymaps.csv osx xtkbd > $@ || rm $@ + $(AM_V_GEN)$(PYTHON) $(KEYMAP_GEN) --lang glib2 --varname keymap_osx2xtkbd code-map $(srcdir)/$(KEYMAP_CSV) osx xtkbd > $@ || rm $@ vncdisplaykeymap_win322xtkbd.c: - $(AM_V_GEN)$(KEYMAP_GEN) $(srcdir)/keymaps.csv win32 xtkbd > $@ || rm $@ + $(AM_V_GEN)$(PYTHON) $(KEYMAP_GEN) --lang glib2 --varname keymap_win322xtkbd code-map $(srcdir)/$(KEYMAP_CSV) win32 xtkbd > $@ || rm $@ vncdisplaykeymap_x112xtkbd.c: - $(AM_V_GEN)$(KEYMAP_GEN) $(srcdir)/keymaps.csv x11 xtkbd > $@ || rm $@ + $(AM_V_GEN)$(PYTHON) $(KEYMAP_GEN) --lang glib2 --varname keymap_x112xtkbd code-map $(srcdir)/$(KEYMAP_CSV) x11 xtkbd > $@ || rm $@ -include $(INTROSPECTION_MAKEFILE) diff