blob: ff355093c53b31f22660c6037a33cc3040bb7e56 [file] [log] [blame] [edit]
// Copyright 2023 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "libevdev-shim.h" // NOLINT(build/include_directory)
struct libevdev* LibevdevShim::new_evdev(void) {
return libevdev_new();
}
void LibevdevShim::free(struct libevdev* dev) {
libevdev_free(dev);
}
int LibevdevShim::enable_event_code(struct libevdev* dev,
unsigned int type,
unsigned int code,
const void* data) {
return libevdev_enable_event_code(dev, type, code, data);
}
void LibevdevShim::set_name(struct libevdev* dev, const char* name) {
libevdev_set_name(dev, name);
}
void LibevdevShim::set_id_product(struct libevdev* dev, int product_id) {
libevdev_set_id_product(dev, product_id);
}
void LibevdevShim::set_id_vendor(struct libevdev* dev, int vendor_id) {
libevdev_set_id_vendor(dev, vendor_id);
}
void LibevdevShim::set_id_bustype(struct libevdev* dev, int bustype) {
libevdev_set_id_bustype(dev, bustype);
}
void LibevdevShim::set_id_version(struct libevdev* dev, int version) {
libevdev_set_id_version(dev, version);
}
int LibevdevShim::uinput_create_from_device(
const struct libevdev* dev,
int uinput_fd,
struct libevdev_uinput** uinput_dev) {
return libevdev_uinput_create_from_device(dev, uinput_fd, uinput_dev);
}
int LibevdevShim::uinput_write_event(const struct libevdev_uinput* uinput_dev,
unsigned int type,
unsigned int code,
int value) {
return libevdev_uinput_write_event(uinput_dev, type, code, value);
}
void LibevdevShim::uinput_destroy(struct libevdev_uinput* uinput_dev) {
libevdev_uinput_destroy(uinput_dev);
}
LibevdevShim* Libevdev::singleton = nullptr;
LibevdevShim* Libevdev::Get() {
return singleton;
}
void Libevdev::Set(LibevdevShim* shim) {
singleton = shim;
}