Skip to content

Commit b5596a0

Browse files
docs: clarify licensing and macOS backend status
Add a root license notice, move the MIT text under `LICENSES/`, and update install/packaging paths so distributed artifacts still include the expected license files. Refresh README and docs to better describe the current macOS CoreGraphics-only keyboard/mouse backend and keep planned native virtual-HID gamepad support scoped separately.
1 parent 485bf6e commit b5596a0

10 files changed

Lines changed: 47 additions & 21 deletions

File tree

CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,8 +170,9 @@ if(LIBVIRTUALHID_INSTALL)
170170
"find_dependency(X11 COMPONENTS Xtst)\n")
171171
endif()
172172

173-
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE"
173+
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/LICENSES/MIT.md"
174174
DESTINATION "${CMAKE_INSTALL_DATADIR}/licenses/libvirtualhid"
175+
RENAME LICENSE
175176
COMPONENT library)
176177

177178
configure_package_config_file(

LICENSE.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Repository License Notice
2+
3+
`libvirtualhid` contains components under different licenses. This file is a
4+
summary and does not replace the complete license texts.
5+
6+
- The cross-platform library source, public headers, non-driver backends,
7+
examples, tests, build scripts, and documentation are licensed under the
8+
[MIT License](LICENSES/MIT.md), except where the license map says otherwise.
9+
- The Windows UMDF driver, broker, proprietary entitlement and evaluation
10+
sources, and generated Windows driver package artifacts are licensed under
11+
the [LizardByte Source-Available License 1.0](LICENSES/LicenseRef-LizardByte-SAL-1.0.md).
12+
13+
See the [license map](LICENSES/README.md) for the authoritative repository path
14+
and artifact assignments.
File renamed without changes.

LICENSES/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Windows driver package.
66
- LB-SAL 1.0 SPDX custom identifier: `LicenseRef-LizardByte-SAL-1.0`.
77
- Cross-platform library source, public headers, non-driver backends, examples,
88
tests, build scripts, and documentation unless listed below:
9-
[MIT](https://github.com/LizardByte/libvirtualhid/blob/master/LICENSE).
9+
[MIT](https://github.com/LizardByte/libvirtualhid/blob/master/LICENSES/MIT.md).
1010
- Windows UMDF driver source under `src/platform/windows/driver/`, the broker
1111
service under `src/platform/windows/broker/`, and the broker entitlement and
1212
evaluation sources

README.md

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -109,10 +109,12 @@ devices from the OS, or ship a Windows kernel-mode driver.
109109
110110
## 📌 Status
111111
112-
Linux and Windows are the active backends. Linux uses standard user-space kernel
113-
interfaces. Windows remains user-mode: the C++ library talks to a UMDF2 control
114-
driver, and the driver publishes HID gamepads through VHF. macOS support is not
115-
implemented yet.
112+
Linux and Windows provide virtual-device backends. Linux uses standard
113+
user-space kernel interfaces. Windows remains user-mode: the C++ library talks
114+
to a UMDF2 control driver, and the driver publishes HID gamepads through VHF.
115+
macOS currently provides a limited CoreGraphics synthetic-input backend for
116+
keyboard and mouse only. It is not a virtual-HID backend and does not yet
117+
support gamepads; native macOS virtual-HID gamepad support is planned.
116118
117119
The library is designed around gamepad use first because remote streaming hosts
118120
are the first consumer class. Non-gamepad device types are available through the
@@ -183,8 +185,12 @@ test app path and does not currently advertise an ARM64 build.
183185
184186
## 📄 License
185187
186-
The cross-platform `libvirtualhid` library is licensed under the MIT License.
188+
The cross-platform `libvirtualhid` library is licensed under the
189+
[MIT License](LICENSES/MIT.md).
187190
The Windows UMDF driver, broker, proprietary entitlement/evaluation sources,
188191
and generated Windows driver package artifacts, including the driver MSI, are
189-
licensed under the LizardByte Source-Available License 1.0 (LB-SAL 1.0). See the
190-
[license map](LICENSES/README.md) for the full repository split.
192+
licensed under the
193+
[LizardByte Source-Available License 1.0](LICENSES/LicenseRef-LizardByte-SAL-1.0.md)
194+
(LB-SAL 1.0). The root [license notice](LICENSE.md) points to both complete license
195+
texts; see the [license map](LICENSES/README.md) for the authoritative repository
196+
path and artifact assignments.

cmake/packaging/common.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ set(CPACK_PACKAGE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/cpack_artifacts)
1010
set(CPACK_PACKAGE_CONTACT "https://app.lizardbyte.dev")
1111
set(CPACK_PACKAGE_DESCRIPTION ${CMAKE_PROJECT_DESCRIPTION})
1212
set(CPACK_PACKAGE_HOMEPAGE_URL ${CMAKE_PROJECT_HOMEPAGE_URL})
13-
set(CPACK_RESOURCE_FILE_LICENSE ${PROJECT_SOURCE_DIR}/LICENSE)
13+
set(CPACK_RESOURCE_FILE_LICENSE ${PROJECT_SOURCE_DIR}/LICENSES/MIT.md)
1414
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}")
1515
set(CPACK_STRIP_FILES YES)
1616

cmake/packaging/windows.cmake

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,14 @@ if(LIBVIRTUALHID_DRIVER_TEST_CERTIFICATE)
5656
OPTIONAL)
5757
endif()
5858

59-
install(FILES
60-
"${PROJECT_SOURCE_DIR}/LICENSE"
61-
"${LIBVIRTUALHID_DRIVER_LICENSE_FILE}"
59+
install(FILES "${PROJECT_SOURCE_DIR}/LICENSES/MIT.md"
60+
DESTINATION "licenses"
61+
RENAME "MIT.md"
62+
COMPONENT driver)
63+
64+
install(FILES "${LIBVIRTUALHID_DRIVER_LICENSE_FILE}"
6265
DESTINATION "licenses"
66+
RENAME "LicenseRef-LizardByte-SAL-1.0.md"
6367
COMPONENT driver)
6468

6569
set(CPACK_COMPONENT_DRIVER_DISPLAY_NAME "Windows UMDF Driver")

docs/development.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,6 @@ code and tests provide a better source of truth.
9494
libvirtualhid driver-package checks.
9595
- Validate Linux host-adapter behavior across the selected controller profiles.
9696
- Define and implement the FreeBSD-supported backend subset.
97-
- Extend macOS support beyond CoreGraphics keyboard and mouse injection to
98-
native virtual HID devices, including signing, entitlement, and installer
99-
constraints.
97+
- Add native macOS virtual-HID gamepad support beyond the current CoreGraphics
98+
keyboard and mouse injection backend, including signing, entitlement, and
99+
installer constraints.

docs/platform-support.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,7 @@ Unsupported macOS capabilities currently return `unsupported_profile`:
272272
- Touchscreen, trackpad, and pen tablet devices.
273273
- Keyboard text input through `KeyboardTextEvent`.
274274

275-
Future native virtual HID support may use `IOHIDUserDevice`,
276-
DriverKit/HIDDriverKit, or a combination that preserves the same public API
277-
while documenting any signing, entitlement, and installer requirements.
275+
Native macOS virtual-HID gamepad support is planned. A future backend may use
276+
`IOHIDUserDevice`, DriverKit/HIDDriverKit, or a combination that preserves the
277+
same public API while documenting any signing, entitlement, and installer
278+
requirements.

docs/streaming-host-integration.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,5 +72,5 @@ Remaining replacement work is validation and packaging, not broad API shape:
7272
- Evaluate an optional FreeBSD CUSE-backed `uhid(4)`-compatible device for
7373
direct HID consumers. This would supplement uinput; it is not equivalent to
7474
registering a virtual device with FreeBSD's kernel HID bus.
75-
- Validate macOS CoreGraphics keyboard and mouse support in a streaming host, and
76-
keep native macOS virtual HID device work scoped separately.
75+
- Validate macOS CoreGraphics keyboard and mouse support in a streaming host,
76+
and keep the planned native macOS virtual-HID gamepad work scoped separately.

0 commit comments

Comments
 (0)