Re: [PATCH] libkeymap: dump action codes for keycode 0
Alexey Gladkov <[email protected]> Sat, 29 Jun 2024 12:24:35 +0200
| Newsgroups | dev.linux.lists.kbd |
|---|---|
| Message-ID | <[email protected]> |
On Fri, Jun 21, 2024 at 11:41:09PM +0200, Oleg Bulatov wrote: > Keymaps in mac/* use keycode 0. For example, mac-qwerty-layout has the > following definition: >=20 > keycode 0 =3D a >=20 > Therefore, dumpkeys should print definitions starting from 0, not 1. >=20 > Signed-off-by: Oleg Bulatov <[email protected]> Applied. Thanks! > --- > src/libkeymap/dump.c | 4 +-- > .../dumpkeys-fulltable/mac-qwerty-layout.map | 28 +++++++++++++++++++ > .../dumpkeys-fulltable/ruwin_cplk-UTF-8.map | 1 + > tests/libkeymap.at | 9 ++++++ > 4 files changed, 40 insertions(+), 2 deletions(-) > create mode 100644 tests/data/dumpkeys-fulltable/mac-qwerty-layout.map >=20 > diff --git a/src/libkeymap/dump.c b/src/libkeymap/dump.c > index 4dee51b..499cafd 100644 > --- a/src/libkeymap/dump.c > +++ b/src/libkeymap/dump.c > @@ -429,7 +429,7 @@ void lk_dump_keys(struct lk_ctx *ctx, FILE *fd, lk_ta= ble_shape table, char numer > if (!(j !=3D ja && lk_map_exists(ctx, j) && lk_map_exists(ctx, ja))) > continue; > =20 > - for (i =3D 1; i < NR_KEYS; i++) { > + for (i =3D 0; i < NR_KEYS; i++) { > int buf0, buf1, type; > =20 > buf0 =3D lk_get_key(ctx, j, i); > @@ -455,7 +455,7 @@ void lk_dump_keys(struct lk_ctx *ctx, FILE *fd, lk_ta= ble_shape table, char numer > not_alt_is_meta: > no_shorthands: > =20 > - for (i =3D 1; i < NR_KEYS; i++) { > + for (i =3D 0; i < NR_KEYS; i++) { > all_holes =3D 1; > =20 > for (j =3D 0; j < keymapnr; j++) { > diff --git a/tests/data/dumpkeys-fulltable/mac-qwerty-layout.map b/tests/= data/dumpkeys-fulltable/mac-qwerty-layout.map > new file mode 100644 > index 0000000..8313b0c > --- /dev/null > +++ b/tests/data/dumpkeys-fulltable/mac-qwerty-layout.map > @@ -0,0 +1,28 @@ > +keymaps 0 > +alt_is_meta > +keycode 0 =3D a =20 > +keycode 1 =3D s =20 > +keycode 2 =3D d =20 > +keycode 3 =3D f =20 > +keycode 4 =3D h =20 > +keycode 5 =3D g =20 > +keycode 6 =3D z =20 > +keycode 7 =3D x =20 > +keycode 8 =3D c =20 > +keycode 9 =3D v =20 > +keycode 11 =3D b =20 > +keycode 12 =3D q =20 > +keycode 13 =3D w =20 > +keycode 14 =3D e =20 > +keycode 15 =3D r =20 > +keycode 16 =3D y =20 > +keycode 17 =3D t =20 > +keycode 31 =3D o =20 > +keycode 32 =3D u =20 > +keycode 34 =3D i =20 > +keycode 35 =3D p =20 > +keycode 37 =3D l =20 > +keycode 38 =3D j =20 > +keycode 40 =3D k =20 > +keycode 45 =3D n =20 > +keycode 46 =3D m =20 > diff --git a/tests/data/dumpkeys-fulltable/ruwin_cplk-UTF-8.map b/tests/d= ata/dumpkeys-fulltable/ruwin_cplk-UTF-8.map > index 80c6672..625b76a 100644 > --- a/tests/data/dumpkeys-fulltable/ruwin_cplk-UTF-8.map > +++ b/tests/data/dumpkeys-fulltable/ruwin_cplk-UTF-8.map > @@ -1,4 +1,5 @@ > keymaps 0-255 > +keycode 0 =3D 0x0200 0x0200 0x0200 0x020= 0 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x= 0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200= 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0= 200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x02= 00 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0= x0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x020= 0 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x= 0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200= 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0= 200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x02= 00 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0= x0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x020= 0 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x= 0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200= 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0= 200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x02= 00 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0= x0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x020= 0 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x= 0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200= 0x0200 0x0200 0x0200 0x0200 = 0x0200 =20 > keycode 1 =3D 0x001b 0x001b 0x001b 0x001= b 0x0200 0x0200 0x0200 0x0200 = 0x081b 0x0200 0x081b 0x0200 0x= 0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200= 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0= 200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x02= 00 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0= x0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x020= 0 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x= 0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200= 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0= 200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x02= 00 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0= x0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x020= 0 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x= 0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200= 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0= 200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x02= 00 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0= x0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x020= 0 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x= 0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200= 0x0200 0x0200 0x0200 0x0200 = 0x0200 =20 > keycode 2 =3D 0x0031 0x0021 0x0031 0x002= 1 0x0200 0x0200 0x0200 0x0200 = 0x0831 0x0821 0x0831 0x0821 0x= 0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200= 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0= 200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x02= 00 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0= x0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x020= 0 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x= 0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200= 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0= 200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x02= 00 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0= x0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x020= 0 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x= 0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200= 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0= 200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x02= 00 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0= x0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x020= 0 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x= 0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200= 0x0200 0x0200 0x0200 0x0200 = 0x0200 =20 > keycode 3 =3D 0x0032 0x0040 0x0032 0x002= 2 0x0000 0x0200 0x0000 0x0200 = 0x0832 0x0840 0x0832 0x0840 0x= 0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200= 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0= 200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x02= 00 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0= x0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x020= 0 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x= 0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200= 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0= 200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x02= 00 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0= x0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x020= 0 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x= 0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200= 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0= 200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x02= 00 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0= x0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x020= 0 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x= 0200 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 = 0x0200 0x0200 0x0200 0x0200 0x0200= 0x0200 0x0200 0x0200 0x0200 = 0x0200 =20 > diff --git a/tests/libkeymap.at b/tests/libkeymap.at > index 929d1cc..a7f8ccc 100644 > --- a/tests/libkeymap.at > +++ b/tests/libkeymap.at > @@ -147,6 +147,15 @@ AT_CHECK([$abs_builddir/helpers/libkeymap-dumpkeys $= abs_srcdir/data/dumpkeys-ful > [0], [expout]) > AT_CLEANUP > =20 > +AT_SETUP([test 25 (keycode 0)]) > +AT_KEYWORDS([libkeymap unittest]) > +cp -f -- \ > + "$abs_srcdir/data/dumpkeys-fulltable/mac-qwerty-layout.map" \ > + expout > +AT_CHECK([$abs_builddir/helpers/libkeymap-dumpkeys $abs_srcdir/data/dump= keys-fulltable/mac-qwerty-layout.map DEFAULT FALSE], > + [0], [expout]) > +AT_CLEANUP > + > AT_SETUP([binary keymap (us.map)]) > AT_KEYWORDS([libkeymap unittest]) > AT_SKIP_IF([ test "$(arch)" !=3D "x86_64" ]) > --=20 > 2.44.2 >=20 >=20 --=20 Rgrds, legion