// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd.
//
// SPDX-License-Identifier: LGPL-3.0-or-later

/*!
@~chinese
@file dtkinputdevices_types.h
@ingroup inputdevices

dtkinputdevices_types.h 中定义了 inputdevices组件需要用到的一些自定义数据结构

@enum Dtk::Device::DeviceType dtkinputdevices_types.h
@brief 设备类型
| 值           | 序号  | 含义 |
|--------------|------|-----|
| Mouse        | 0     | 鼠标 |
| TrackPoint   | 1     | 指针杆 |
| TouchPad     | 2     | 触摸板 |
| Tablet       | 3     | 数位板 |
| Keyboard     | 4     | 键盘 |
| Generic      | 5     | 其他设备 |

@struct Dtk::Device::DeviceInfo dtkinputdevices_types.h
@brief 设备信息类
@var DeviceInfo DeviceInfo::id
设备id
@var DeviceInfo DeviceInfo::name
设备名
@var DeviceInfo DeviceInfo::type
设备类型

@enum Dtk::Device::AccelerationProfile dtkinputdevices_types.h
@brief 指针加速方式
| 值           | 序号  | 含义 |
|--------------|------|-----|
| Flat         | 0    | 常量加速度 |
| Adaptive     | 1    | 自适应加速度 |
| Na           | 2    | 不支持指针加速 |

@enum Dtk::Device::Key dtkinputdevices_types.h
@brief 按键动作
| 值           | 序号  | 含义 |
|--------------|------|-----|
| KeyUp        | 0    | 按键释放 |
| KeyDown      | 1    | 按键按下 |

@enum Dtk::Device::KeyAction dtkinputdevices_types.h
@brief 按键动作映射
| 值           | 序号  | 含义 |
|--------------|------|-----|
| LeftClick    | 0    | 左键 |
| MiddleClick  | 1    | 中键 |
| RightClick   | 2    | 右键 |
| PageUp       | 3    | 向上翻页 |
| PageDown     | 4    | 向下翻页 |

@enum Dtk::Device::ScrollMethod dtkinputdevices_types.h
@brief 滚动方式
| 值                 | 序号  | 含义 |
|--------------------|------|-----|
| NoScroll           | 0    | 无滚动  |
| ScrollTwoFinger    | 1    | 双指滑动 |
| ScrollEdge         | 2    | 边缘滚动 |
| ScrollOnButtonDown | 3    | 按下按钮时滚动 |

@class Dtk::Device::EnumWrapper dtkinputdevices_types.h
@brief 枚举类型包装器

@enum Dtk::Device::EnumWrapper::ErrorCode dtkinputdevices_types.h
@brief 错误代码
| 值          | 序号  | 含义 |
|-------------|------|-----|
| InvalidCall | 0    | 无效调用 |

*/
