-
Simon McVittie authored
The portal device monitor won't be able to do this, because it loses its record of which object path corresponds to which object as soon as the device is removed. Signed-off-by:
Simon McVittie <smcv@collabora.com>
Simon McVittie authoredThe portal device monitor won't be able to do this, because it loses its record of which object path corresponds to which object as soon as the device is removed. Signed-off-by:
Simon McVittie <smcv@collabora.com>
mock-input-device.c 14.83 KiB
/*
* Mock input device monitor, loosely based on SDL code.
*
* Copyright © 1997-2020 Sam Lantinga <slouken@libsdl.org>
* Copyright © 2020 Collabora Ltd.
*
* SPDX-License-Identifier: Zlib
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any damages
* arising from the use of this software.
*
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software
* in a product, an acknowledgment in the product documentation would be
* appreciated but is not required.
* 2. Altered source versions must be plainly marked as such, and must not be
* misrepresented as being the original software.
* 3. This notice may not be removed or altered from any source distribution.
*/
#include "mock-input-device.h"
#include <linux/input.h>
#include <glib-unix.h>
#include <libglnx.h>
#include "steam-runtime-tools/glib-backports-internal.h"
#include "steam-runtime-tools/input-device.h"
#include "steam-runtime-tools/input-device-internal.h"
#include "steam-runtime-tools/utils-internal.h"
#define VENDOR_VALVE 0x28de
#define PRODUCT_VALVE_STEAM_CONTROLLER 0x1142
/* These aren't in the real vendor/product IDs, but we add them here
* to make the test able to distinguish. They look a bit like HID,
* EVDE(v) and USB, if you squint. */
#define HID_MARKER 0x41D00000
#define EVDEV_MARKER 0xE7DE0000
#define USB_MARKER 0x05B00000
static void mock_input_device_iface_init (SrtInputDeviceInterface *iface);
static void mock_input_device_monitor_iface_init (SrtInputDeviceMonitorInterface *iface);
G_DEFINE_TYPE_WITH_CODE (MockInputDevice,
mock_input_device,
SRT_TYPE_SIMPLE_INPUT_DEVICE,
G_IMPLEMENT_INTERFACE (SRT_TYPE_INPUT_DEVICE,
mock_input_device_iface_init))
G_DEFINE_TYPE_WITH_CODE (MockInputDeviceMonitor,
mock_input_device_monitor,
G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (SRT_TYPE_INPUT_DEVICE_MONITOR,
mock_input_device_monitor_iface_init))
static void
mock_input_device_init (MockInputDevice *self)
{
}
static void
mock_input_device_class_init (MockInputDeviceClass *cls)
{