From c250c824a97b8483a50c9471f956e1deb6aad2cf Mon Sep 17 00:00:00 2001 From: Pawel Osmolski Date: Thu, 15 Oct 2026 13:45:06 +0100 Subject: [PATCH 1/2] Request 1209:D10C for VIIPER Generic Joystick --- 1209/D10C/index.md | 24 ++++++++++++++++++++++++ org/Pav-Osmolski/index.md | 7 +++++++ 2 files changed, 31 insertions(+) create mode 100644 1209/D10C/index.md create mode 100644 org/Pav-Osmolski/index.md diff --git a/1209/D10C/index.md b/1209/D10C/index.md new file mode 100644 index 00000000..ec70ccfc --- /dev/null +++ b/1209/D10C/index.md @@ -0,0 +1,24 @@ +--- +layout: pid +title: VIIPER Generic Joystick +owner: Pav-Osmolski +license: GPL-3.0-or-later +site: https://github.com/Pav-Osmolski/VIIPER/blob/feature/directinput-output/docs/devices/genericjoystick.md +source: https://github.com/Pav-Osmolski/VIIPER/tree/feature/directinput-output/device/genericjoystick +--- +A software-only, input-only virtual USB HID joystick implemented by VIIPER +over USB/IP. It exposes six absolute axes, twelve buttons and an eight-direction +POV hat, using the operating system's standard HID joystick support. DS4Windows +feeds mapped controller input to it for games using DirectInput or WinMM, +including configurable analogue trigger axis roles and resting positions. + +There is no physical PCB or firmware. The USB descriptor and report implementation +are public Go source under GPL-3.0-or-later. On Windows, usbip-win2 imports the +virtual USB device; this request covers the joystick, not the USB/IP host driver. + +A fixed registered identity is needed for Windows device enumeration and saved +game controller bindings. Per-user identities would make support and shared +binding configurations inconsistent. This request covers one twelve-button HID +descriptor; any future incompatible descriptor will require a separate identity. +It does not emulate another manufacturer's USB identity and has no force-feedback +or audio interfaces. diff --git a/org/Pav-Osmolski/index.md b/org/Pav-Osmolski/index.md new file mode 100644 index 00000000..68299332 --- /dev/null +++ b/org/Pav-Osmolski/index.md @@ -0,0 +1,7 @@ +--- +layout: org +title: Pav-Osmolski +site: https://github.com/Pav-Osmolski +--- +Maintainer of open-source DS4Windows and VIIPER forks, improving controller +mapping, virtual USB devices and compatibility with Windows games. From e2274c53a54ed7cc67ac1f651bd247272613b512 Mon Sep 17 00:00:00 2001 From: Pawel Osmolski Date: Mon, 26 Oct 2026 19:00:41 +0000 Subject: [PATCH 2/2] Describe fixed sixteen-button VIIPER joystick identity --- 1209/D10C/index.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/1209/D10C/index.md b/1209/D10C/index.md index ec70ccfc..bc382149 100644 --- a/1209/D10C/index.md +++ b/1209/D10C/index.md @@ -7,7 +7,7 @@ site: https://github.com/Pav-Osmolski/VIIPER/blob/feature/directinput-output/doc source: https://github.com/Pav-Osmolski/VIIPER/tree/feature/directinput-output/device/genericjoystick --- A software-only, input-only virtual USB HID joystick implemented by VIIPER -over USB/IP. It exposes six absolute axes, twelve buttons and an eight-direction +over USB/IP. It exposes six absolute axes, sixteen buttons and an eight-direction POV hat, using the operating system's standard HID joystick support. DS4Windows feeds mapped controller input to it for games using DirectInput or WinMM, including configurable analogue trigger axis roles and resting positions. @@ -18,7 +18,9 @@ virtual USB device; this request covers the joystick, not the USB/IP host driver A fixed registered identity is needed for Windows device enumeration and saved game controller bindings. Per-user identities would make support and shared -binding configurations inconsistent. This request covers one twelve-button HID +binding configurations inconsistent. This request covers one fixed sixteen-button HID descriptor; any future incompatible descriptor will require a separate identity. -It does not emulate another manufacturer's USB identity and has no force-feedback +The advertised capacity is independent of the physical controller. DS4Windows +profiles can reassign or leave output buttons unassigned without changing the +device descriptor. It does not emulate another manufacturer's USB identity and has no force-feedback or audio interfaces.