Move the event printing out into a utility

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1156>
This commit is contained in:
Peter Hutterer 2025-03-10 16:07:58 +10:00 committed by Marge Bot
parent 28e896916a
commit 9907cf2eeb
4 changed files with 1074 additions and 976 deletions

View file

@ -445,11 +445,23 @@ endif
subdir('completion/zsh')
############ libinput-util-libinput.a ############
# This one needs libinput itself
src_libinput_util_libinput = [
'src/util-libinput.c'
]
libinput_util_libinput = static_library('libinput-util-libinput',
src_libinput_util_libinput,
dependencies : [dep_libevdev, dep_libinput_util, dep_libinput],
include_directories : includes_include)
dep_libinput_util_libinput = declare_dependency(link_with : libinput_util_libinput)
############ tools ############
libinput_tool_path = dir_libexec
config_h.set_quoted('LIBINPUT_TOOL_PATH', libinput_tool_path)
tools_shared_sources = [ 'tools/shared.c' ]
deps_tools_shared = [ dep_libinput, dep_libevdev ]
deps_tools_shared = [ dep_libinput, dep_libevdev, dep_libinput_util_libinput ]
lib_tools_shared = static_library('tools_shared',
tools_shared_sources,
include_directories : [includes_src, includes_include],

1008
src/util-libinput.c Normal file

File diff suppressed because it is too large Load diff

40
src/util-libinput.h Normal file
View file

@ -0,0 +1,40 @@
/*
* Copyright © 2025 Red Hat, Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice (including the next
* paragraph) shall be included in all copies or substantial portions of the
* Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*/
#pragma once
#include <stdbool.h>
#include "libinput.h"
struct libinput_print_options {
uint32_t screen_width;
uint32_t screen_height;
uint32_t start_time;
bool show_keycodes;
};
char *
libinput_event_to_str(struct libinput_event *ev,
size_t event_repeat_count,
const struct libinput_print_options *opts);

File diff suppressed because it is too large Load diff