mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2025-12-20 03:20:05 +01:00
tools: rename list-quirks to the more generic "quirks list"
Enables us to easily add more tools where needed and it is more consistent with the existing tools. The commands are now: libinput quirks list libinput quirks validate Fixes https://gitlab.freedesktop.org/libinput/libinput/issues/66 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
0d8c70baef
commit
e723398c14
7 changed files with 105 additions and 70 deletions
|
|
@ -54,21 +54,23 @@ Once the required section has been added, use the information from section
|
|||
|
||||
@section device-quirks-debugging Debugging device quirks
|
||||
|
||||
libinput provides the `libinput list-quirks` tool to list and debug model
|
||||
quirks that apply to one or more local devices.
|
||||
libinput provides the `libinput quirks` tool to debug the quirks database.
|
||||
This tool takes an action as first argument, the most common invocation is
|
||||
`libinput quirks list` to list model quirks that apply to one or more local
|
||||
devices.
|
||||
|
||||
@verbatim
|
||||
$ libinput list-quirks /dev/input/event19
|
||||
$ libinput quirks list /dev/input/event19
|
||||
Device has no quirks defined
|
||||
$ libinput list-quirks /dev/input/event0
|
||||
$ libinput quirks list /dev/input/event0
|
||||
AttrLidSwitchReliability
|
||||
@endverbatim
|
||||
|
||||
When called with the `--verbose` argument, `libinput list-quirks` prints
|
||||
When called with the `--verbose` argument, `libinput quirks list` prints
|
||||
information about all files and its attempts to match the device:
|
||||
|
||||
@verbatim
|
||||
$ libinput list-quirks --verbose /dev/input/event0
|
||||
$ libinput quirks list --verbose /dev/input/event0
|
||||
quirks debug: /usr/share/share/libinput is data root
|
||||
quirks debug: /usr/share/share/libinput/10-generic-keyboard.quirks
|
||||
quirks debug: /usr/share/share/libinput/10-generic-lid.quirks
|
||||
|
|
|
|||
31
meson.build
31
meson.build
|
|
@ -471,21 +471,34 @@ configure_file(input : 'tools/libinput-debug-events.man',
|
|||
install_dir : join_paths(get_option('mandir'), 'man1')
|
||||
)
|
||||
|
||||
libinput_list_quirks_sources = [ 'tools/libinput-list-quirks.c' ]
|
||||
libinput_list_quirks = executable('libinput-list-quirks',
|
||||
libinput_list_quirks_sources,
|
||||
libinput_quirks_sources = [ 'tools/libinput-quirks.c' ]
|
||||
libinput_quirks = executable('libinput-quirks',
|
||||
libinput_quirks_sources,
|
||||
dependencies : [dep_libquirks, dep_tools_shared, dep_libinput],
|
||||
include_directories : [includes_src, includes_include],
|
||||
install_dir : libinput_tool_path,
|
||||
install : true
|
||||
)
|
||||
test('validate-quirks',
|
||||
libinput_list_quirks,
|
||||
args: ['--validate-only', '--data-dir=@0@'.format(join_paths(meson.source_root(), 'data'))]
|
||||
libinput_quirks,
|
||||
args: ['validate', '--data-dir=@0@'.format(join_paths(meson.source_root(), 'data'))]
|
||||
)
|
||||
|
||||
configure_file(input : 'tools/libinput-list-quirks.man',
|
||||
output : 'libinput-list-quirks.1',
|
||||
configure_file(input : 'tools/libinput-quirks.man',
|
||||
output : 'libinput-quirks.1',
|
||||
configuration : man_config,
|
||||
install : true,
|
||||
install_dir : join_paths(get_option('mandir'), 'man1')
|
||||
)
|
||||
# Same man page for the subtools to stay consistent with the other tools
|
||||
configure_file(input : 'tools/libinput-quirks.man',
|
||||
output : 'libinput-quirks-list.1',
|
||||
configuration : man_config,
|
||||
install : true,
|
||||
install_dir : join_paths(get_option('mandir'), 'man1')
|
||||
)
|
||||
configure_file(input : 'tools/libinput-quirks.man',
|
||||
output : 'libinput-quirks-validate.1',
|
||||
configuration : man_config,
|
||||
install : true,
|
||||
install_dir : join_paths(get_option('mandir'), 'man1')
|
||||
|
|
@ -544,7 +557,7 @@ configure_file(input : 'tools/libinput-measure-touchpad-tap.man',
|
|||
config_builddir = configuration_data()
|
||||
config_builddir.set('BUILDDIR', meson.build_root())
|
||||
# libinput-measure-touchpad-pressure gets built but we install_data the
|
||||
# source instead. The built file is the one that uses the local list-quirks
|
||||
# source instead. The built file is the one that uses the local quirks
|
||||
# and should be used for debugging.
|
||||
install_data('tools/libinput-measure-touchpad-pressure',
|
||||
install_dir : libinput_tool_path)
|
||||
|
|
@ -560,7 +573,7 @@ configure_file(input : 'tools/libinput-measure-touchpad-pressure.man',
|
|||
install_dir : join_paths(get_option('mandir'), 'man1')
|
||||
)
|
||||
# libinput-measure-touch-size gets built but we install_data the source
|
||||
# instead. The built file is the one that uses the local list-quirks and
|
||||
# instead. The built file is the one that uses the local quirks and
|
||||
# should be used for debugging.
|
||||
install_data('tools/libinput-measure-touch-size',
|
||||
install_dir : libinput_tool_path)
|
||||
|
|
|
|||
|
|
@ -1,36 +0,0 @@
|
|||
.TH libinput-list-quirks "1" "" "libinput @LIBINPUT_VERSION@" "libinput Manual"
|
||||
.SH NAME
|
||||
libinput\-list\-quirks \- quirk debug helper for libinput
|
||||
.SH SYNOPSIS
|
||||
.B libinput list\-quirks [\-\-data\-dir /path/to/dir] [\-\-verbose\fB] \fI/dev/input/event0\fB
|
||||
.br
|
||||
.B libinput list\-quirks [\-\-data\-dir /path/to/dir] [\-\-verbose\fB] \-\-validate\-only
|
||||
.br
|
||||
.B libinput list\-quirks [\-\-help]
|
||||
.SH DESCRIPTION
|
||||
.PP
|
||||
The
|
||||
.B "libinput list\-quirks"
|
||||
tool parses the quirks file in \fIdata\-dir\fR and prints all quirks applied
|
||||
to the given device.
|
||||
.PP
|
||||
This is a debugging tool only, its output and behavior may change at any
|
||||
time. Do not rely on the output.
|
||||
.SH OPTIONS
|
||||
.TP 8
|
||||
.B \-\-data\-dir \fI/path/to/dir\fR
|
||||
Use the given directory as data directory for quirks files.
|
||||
.TP 8
|
||||
.B \-\-help
|
||||
Print help
|
||||
.TP 8
|
||||
.B \-\-validate\-only
|
||||
Only validate that the quirks files can be parsed. When this option is
|
||||
given, no device file should be supplied.
|
||||
.TP 8
|
||||
.B \-\-verbose
|
||||
Use verbose output, useful for debugging.
|
||||
.SH LIBINPUT
|
||||
Part of the
|
||||
.B libinput(1)
|
||||
suite
|
||||
|
|
@ -224,12 +224,12 @@ class Device(object):
|
|||
def _init_thresholds_from_quirks(self):
|
||||
# This is replaced for the version in builddir but left as-is for
|
||||
# the installed version. For the builddir one we need to run the
|
||||
# builddir list-quirks
|
||||
# builddir quirks list
|
||||
builddir = '@BUILDDIR@'
|
||||
if builddir != '@' + 'BUILDDIR' + '@':
|
||||
command = [os.path.join(builddir, 'libinput-list-quirks')]
|
||||
command = [os.path.join(builddir, 'libinput-quirks'), 'list']
|
||||
else:
|
||||
command = ['libinput', 'list-quirks']
|
||||
command = ['libinput', 'quirks', 'list']
|
||||
command.append(self.path)
|
||||
cmd = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
if cmd.returncode != 0:
|
||||
|
|
|
|||
|
|
@ -202,12 +202,12 @@ class Device(object):
|
|||
def _init_thresholds_from_quirks(self):
|
||||
# This is replaced for the version in builddir but left as-is for
|
||||
# the installed version. For the builddir one we need to run the
|
||||
# builddir list-quirks
|
||||
# builddir quirks list
|
||||
builddir = '@BUILDDIR@'
|
||||
if builddir != '@' + 'BUILDDIR' + '@':
|
||||
command = [os.path.join(builddir, 'libinput-list-quirks')]
|
||||
command = [os.path.join(builddir, 'libinput-quirks'), 'list']
|
||||
else:
|
||||
command = ['libinput', 'list-quirks']
|
||||
command = ['libinput', 'quirks', 'list']
|
||||
command.append(self.path)
|
||||
cmd = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
if cmd.returncode != 0:
|
||||
|
|
|
|||
|
|
@ -74,10 +74,10 @@ static void
|
|||
usage(void)
|
||||
{
|
||||
printf("Usage:\n"
|
||||
" libinput list-quirks [--data-dir /path/to/data/dir] /dev/input/event0\n"
|
||||
" libinput quirks list [--data-dir /path/to/data/dir] /dev/input/event0\n"
|
||||
" Print the quirks for the given device\n"
|
||||
"\n"
|
||||
" libinput list-quirks [--data-dir /path/to/data/dir] --validate-only\n"
|
||||
" libinput quirks validate [--data-dir /path/to/data/dir]\n"
|
||||
" Validate the database\n");
|
||||
}
|
||||
|
||||
|
|
@ -105,13 +105,11 @@ main(int argc, char **argv)
|
|||
enum {
|
||||
OPT_VERBOSE,
|
||||
OPT_DATADIR,
|
||||
OPT_VALIDATE,
|
||||
};
|
||||
static struct option opts[] = {
|
||||
{ "help", no_argument, 0, 'h' },
|
||||
{ "verbose", no_argument, 0, OPT_VERBOSE },
|
||||
{ "data-dir", required_argument, 0, OPT_DATADIR },
|
||||
{ "validate-only", no_argument, 0, OPT_VALIDATE },
|
||||
{ 0, 0, 0, 0}
|
||||
};
|
||||
|
||||
|
|
@ -133,20 +131,35 @@ main(int argc, char **argv)
|
|||
case OPT_DATADIR:
|
||||
data_path = optarg;
|
||||
break;
|
||||
case OPT_VALIDATE:
|
||||
validate = true;
|
||||
break;
|
||||
default:
|
||||
usage();
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (optind >= argc && !validate) {
|
||||
if (optind >= argc) {
|
||||
usage();
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (streq(argv[optind], "list")) {
|
||||
optind++;
|
||||
if (optind >= argc) {
|
||||
usage();
|
||||
return 1;
|
||||
}
|
||||
} else if (streq(argv[optind], "validate")) {
|
||||
optind++;
|
||||
if (optind < argc) {
|
||||
usage();
|
||||
return 1;
|
||||
}
|
||||
validate = true;
|
||||
} else {
|
||||
fprintf(stderr, "Unnkown action '%s'\n", argv[optind]);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* Overriding the data dir means no custom override file */
|
||||
if (!data_path) {
|
||||
data_path = LIBINPUT_DATA_DIR;
|
||||
43
tools/libinput-quirks.man
Normal file
43
tools/libinput-quirks.man
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
.TH libinput-quirks "1" "" "libinput @LIBINPUT_VERSION@" "libinput Manual"
|
||||
.SH NAME
|
||||
libinput\-quirks \- quirk debug helper for libinput
|
||||
.SH SYNOPSIS
|
||||
.B libinput quirks list [\-\-data\-dir /path/to/dir] [\-\-verbose\fB] \fI/dev/input/event0\fB
|
||||
.br
|
||||
.sp
|
||||
.B libinput quirks validate [\-\-data\-dir /path/to/dir] [\-\-verbose\fB]
|
||||
.br
|
||||
.sp
|
||||
.B libinput quirks \-\-help
|
||||
.SH DESCRIPTION
|
||||
.PP
|
||||
The
|
||||
.B "libinput quirks"
|
||||
tool interacts with libinput's quirks database.
|
||||
.PP
|
||||
When invoked as
|
||||
.B libinput quirks list,
|
||||
the tool lists all quirks applied to the given device.
|
||||
.PP
|
||||
When invoked as
|
||||
.B libinput quirks validate,
|
||||
the tool checks for parsing errors in the quirks files and fails
|
||||
if a parsing error is encountered.
|
||||
.PP
|
||||
This is a debugging tool only, its output and behavior may change at any
|
||||
time. Do not rely on the output.
|
||||
.SH OPTIONS
|
||||
.TP 8
|
||||
.B \-\-data\-dir \fI/path/to/dir\fR
|
||||
Use the given directory as data directory for quirks files. When omitted,
|
||||
the default directories are used.
|
||||
.TP 8
|
||||
.B \-\-help
|
||||
Print help
|
||||
.TP 8
|
||||
.B \-\-verbose
|
||||
Use verbose output, useful for debugging.
|
||||
.SH LIBINPUT
|
||||
Part of the
|
||||
.B libinput(1)
|
||||
suite
|
||||
Loading…
Add table
Reference in a new issue