Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Afterglow Wave macOS

macOS support for the PDP Afterglow Wave Wired Controller for Xbox.

The working path today is a userspace shim that reads the controller over USB and maps it to keyboard and mouse input. A native DriverKit gamepad driver is included as a work-in-progress path toward real gamepad support.

Status: early, usable, and intentionally narrow. This repo targets one PDP controller first so the implementation stays understandable.

Supported device

  • PDP Afterglow Wave Wired Controller for Xbox
  • Vendor ID: 0x0E6F
  • Product ID: 0x0316

Status

  • Works: userspace shim in Shim/
  • In progress: native DriverKit HID driver in DriverKit/
  • macOS: 14 or newer
  • Architecture tested: Apple Silicon

Repository layout

Shim/       Working userspace USB-to-keyboard/mouse bridge
DriverKit/  Native system extension driver prototype
docs/       Technical notes and troubleshooting

Quick start

make run-shim

On first run, macOS may ask for Accessibility access. Enable it for AfterglowShim in System Settings so the shim can send keyboard and mouse events.

Manual commands:

cd Shim
swift build
codesign --force --sign - --entitlements AfterglowShim.entitlements .build/debug/AfterglowShim
.build/debug/AfterglowShim

Controls

  • Left stick: WASD
  • Right stick: mouse
  • D-pad: arrow keys
  • A: space
  • B: E
  • X: F
  • Y: R
  • LB/RB: Q / C
  • View/Menu: tab / escape
  • LT/RT: control / space

How it works

The controller speaks Xbox GIP over USB. The shim finds the PDP USB interface, sends the minimal wakeup/ack packets, parses input reports, and posts macOS keyboard/mouse events with CoreGraphics.

For implementation details, see docs/how-it-works.md. For setup problems, see docs/troubleshooting.md.

Native driver

DriverKit/ contains a SwiftUI system extension host app and a DriverKit HID driver target. This is the long-term path for exposing the controller as a real macOS gamepad, but it requires Apple DriverKit USB and HID entitlements.

Before building that target, replace the com.example bundle IDs with your own reverse-DNS prefix and set your Apple Developer team locally in Xcode.

See docs/driverkit.md for the current DriverKit status and signing requirements.

Development

make check

make check validates property lists, builds the shim, and applies the local USB entitlements to the debug binary.

License

MIT

About

macOS support for the PDP Afterglow Wave Wired Controller for Xbox

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages