chromium/ui/events/ozone/evdev/libgestures_glue/haptic_touchpad_handler.h

// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef UI_EVENTS_OZONE_EVDEV_LIBGESTURES_GLUE_HAPTIC_TOUCHPAD_HANDLER_H_
#define UI_EVENTS_OZONE_EVDEV_LIBGESTURES_GLUE_HAPTIC_TOUCHPAD_HANDLER_H_

#include <map>
#include <memory>

#include "ui/events/devices/haptic_touchpad_effects.h"
#include "ui/events/ozone/evdev/event_device_info.h"

namespace ui {

// Handles communication with haptic touchpads via the evdev force feedback
// interface.
//
// Checks that the device is capable of performing all of the required haptic
// effects, then takes control over haptic effects from the kernel.
//
// Performs haptic effects requested by the UI, and also provides a callback to
// perform the appropriate haptic effects when the gesture library determines
// that a physical button click (press or release) has occurred.
class HapticTouchpadHandler {};

}  // namespace ui

#endif  // UI_EVENTS_OZONE_EVDEV_LIBGESTURES_GLUE_HAPTIC_TOUCHPAD_HANDLER_H_