![]() |
libvirtualhid 19
Cross-platform C++ library for virtual HID devices.
|
Public libvirtualhid API namespace. More...
Classes | |
| struct | BackendCapabilities |
| Feature set exposed by the selected backend. More... | |
| class | ButtonSet |
| Compact set of pressed gamepad buttons. More... | |
| struct | CreateGamepadOptions |
| Full gamepad creation request. More... | |
| struct | CreateKeyboardOptions |
| Full keyboard creation request. More... | |
| struct | CreateMouseOptions |
| Full mouse creation request. More... | |
| struct | CreatePenTabletOptions |
| Full pen tablet creation request. More... | |
| struct | CreateTouchscreenOptions |
| Full touchscreen creation request. More... | |
| struct | CreateTrackpadOptions |
| Full trackpad creation request. More... | |
| struct | DeviceNode |
| Platform-visible node or path associated with a virtual device. More... | |
| struct | DeviceProfile |
| Descriptor and identity data used to create a virtual device. More... | |
| class | Gamepad |
| Virtual gamepad device handle. More... | |
| struct | GamepadBattery |
| Gamepad battery charge metadata. More... | |
| struct | GamepadCreationResult |
| Result returned by gamepad creation. More... | |
| struct | GamepadMetadata |
| Consumer-provided metadata for a gamepad device. More... | |
| struct | GamepadOutput |
| Normalized gamepad output event delivered to the consumer. More... | |
| struct | GamepadProfileCapabilities |
| Optional behavior advertised by a gamepad profile. More... | |
| struct | GamepadState |
| Common gamepad input state accepted by libvirtualhid. More... | |
| struct | GamepadTouchContact |
| Touchpad contact carried by a gamepad report. More... | |
| class | Keyboard |
| Virtual keyboard device handle. More... | |
| struct | KeyboardCreationResult |
| Result returned by keyboard creation. More... | |
| struct | KeyboardEvent |
| Keyboard key transition. More... | |
| struct | KeyboardTextEvent |
| UTF-8 text input request. More... | |
| class | Mouse |
| Virtual mouse device handle. More... | |
| struct | MouseCreationResult |
| Result returned by mouse creation. More... | |
| struct | MouseEvent |
| Mouse input event. More... | |
| class | OperationStatus |
| Result status with an error category and human-readable message. More... | |
| class | PenTablet |
| Virtual pen tablet device handle. More... | |
| struct | PenTabletCreationResult |
| Result returned by pen tablet creation. More... | |
| struct | PenToolState |
| Pen tablet tool position and analog state. More... | |
| class | Runtime |
| Runtime that owns backend state and creates virtual devices. More... | |
| struct | RuntimeOptions |
| Runtime creation options. More... | |
| struct | Stick |
| Normalized two-axis stick state. More... | |
| struct | TouchContact |
| Touch contact event for touchscreen and trackpad devices. More... | |
| class | Touchscreen |
| Virtual touchscreen device handle. More... | |
| struct | TouchscreenCreationResult |
| Result returned by touchscreen creation. More... | |
| class | Trackpad |
| Virtual trackpad device handle. More... | |
| struct | TrackpadCreationResult |
| Result returned by trackpad creation. More... | |
| struct | Vector3 |
| Normalized three-axis sensor state. More... | |
| class | VirtualDevice |
| Common interface for virtual device handles. More... | |
Typedefs | |
| using | DeviceId = std::uint64_t |
| Stable identifier assigned to a virtual device instance. | |
| using | KeyboardKeyCode = std::uint16_t |
| Keyboard key code accepted by the keyboard event model. | |
| using | OutputCallback = std::function<void(const GamepadOutput &)> |
| Callback invoked when a gamepad receives output from the backend. | |
Enumerations | |
| enum class | BackendKind { fake , platform_default } |
| Backend implementation selection. More... | |
| enum class | BusType { unknown , usb , bluetooth } |
| Transport bus identity advertised by a device profile. More... | |
| enum class | ClientControllerType { unknown , xbox , playstation , nintendo } |
| Controller family reported by a streaming client. More... | |
| enum class | DeviceNodeKind { input_event , joystick , hidraw , sysfs , other } |
| Platform device-node categories reported by virtual devices. More... | |
| enum class | DeviceType { gamepad , keyboard , mouse , touchscreen , trackpad , pen_tablet } |
| Device categories supported by the public profile model. More... | |
| enum class | ErrorCode { ok , invalid_argument , backend_unavailable , device_closed , unsupported_profile , backend_failure } |
| Error categories returned by libvirtualhid operations. More... | |
| enum class | GamepadBatteryState : std::uint8_t { unknown , discharging , charging , full , voltage_or_temperature_error , temperature_error , charging_error } |
| Common gamepad battery states. More... | |
| enum class | GamepadButton : std::uint8_t { a = 0 , b , x , y , back , start , guide , left_stick , right_stick , left_shoulder , right_shoulder , dpad_up , dpad_down , dpad_left , dpad_right , misc1 } |
| Logical gamepad buttons accepted by the common gamepad state model. More... | |
| enum class | GamepadOutputKind { rumble , rgb_led , adaptive_triggers , raw_report } |
| Output report categories delivered by a gamepad backend. More... | |
| enum class | GamepadProfileKind { generic , xbox_360 , xbox_one , xbox_series , dualsense , switch_pro } |
| Built-in gamepad profile identifiers. More... | |
| enum class | MouseButton : std::uint8_t { left = 0 , middle , right , side , extra } |
| Mouse buttons accepted by the mouse event model. More... | |
| enum class | MouseEventKind { relative_motion , absolute_motion , button , vertical_scroll , horizontal_scroll } |
| Mouse event categories accepted by the mouse event model. More... | |
| enum class | PenButton : std::uint8_t { primary , secondary , tertiary } |
| Pen tablet buttons. More... | |
| enum class | PenToolType : std::uint8_t { pen , eraser , brush , pencil , airbrush , touch , unchanged } |
| Pen tablet tool categories. More... | |
Public libvirtualhid API namespace.
| using lvh::KeyboardKeyCode = std::uint16_t |
Keyboard key code accepted by the keyboard event model.
The initial Linux backend treats this as a Windows virtual-key code so streaming hosts can pass common client key codes without exposing platform backends. Backends translate this value to their native key representation.
|
strong |
|
strong |
|
strong |
|
strong |
Platform device-node categories reported by virtual devices.
|
strong |
|
strong |
Error categories returned by libvirtualhid operations.
|
strong |
Common gamepad battery states.
|
strong |
Logical gamepad buttons accepted by the common gamepad state model.
|
strong |
|
strong |
Built-in gamepad profile identifiers.
|
strong |
Mouse buttons accepted by the mouse event model.
| Enumerator | |
|---|---|
| left | Primary mouse button. |
| middle | Middle mouse button. |
| right | Secondary mouse button. |
| side | First auxiliary mouse button. |
| extra | Second auxiliary mouse button. |
|
strong |
Mouse event categories accepted by the mouse event model.
| Enumerator | |
|---|---|
| relative_motion | Relative pointer movement. |
| absolute_motion | Absolute pointer movement inside a target area. |
| button | Mouse button transition. |
| vertical_scroll | High-resolution vertical scroll event. |
| horizontal_scroll | High-resolution horizontal scroll event. |
|
strong |
|
strong |