Skip to content

Windows Driver Installer library for USB devices

License

GPL-3.0, LGPL-3.0 licenses found

Licenses found

GPL-3.0
COPYING
LGPL-3.0
COPYING-LGPL
Notifications You must be signed in to change notification settings

qmk/qmk_driver_installer

 
 

qmk_installer: An Windows Driver Installation library for QMK supported USB devices

Based on libwdi. The library is in fact a fork of libwdi, but adds some new executables and configuration files for QMK supported devices.

It can be compiled by Visual Studio 2017, read the libwdi instructions for further details.

By default it installs drivers only for connected devices, which need to be in bootloader(flashing) mode. If you specify the --all option it will install drivers for unconnected devices too. It doesn't override any existing drivers, but that can be forced by the --force option.

Usage:

qmk_installer [--force] [--all] drivers_list
--force         forces installation over existing drivers
--all           installs drivers for unconnected devices
--help          displays this message
drivers_list    path to a file with a list of drivers to install

The drivers_list is a file with the following format

# The format is
# driver,desc,vid,pid,guid
# Use a comma as a separator without spaces
# Driver can be one of winusb,libusb,libusbk
# Use Windows Powershell and type [guid]::NewGuid() to generate guids
winusb,Kiibohd DFU Bootloader,1C11,B007,aa5a3f86-b81e-4416-89ad-0c1ea1ed63af
libusb,ATxmega16C4,03EB,2FD8,23266ee7-5423-4cc4-993b-034571c43a90
libusb,ATxmega32C4,03EB,2FD9,d4b62886-2ac8-4534-aa24-eae0a2c3ce43
libusb,ATxmega64C3,03EB,2FD6,08467ca7-9b5a-41d2-8d8a-4a26d0b5285b

libwdi: A Windows Driver Installation library for USB devices

Main features

  • Automated inf creation, using reported USB device name
  • Automated catalog file creation and signing, using autogenerated certificate
  • Automated driver files extraction, for both 32 and 64 bit platforms
  • Automated driver installation, including UAC elevation where necessary
  • Single library embedding all the required files
  • Supports all Windows platform from Windows XP to Windows 10

Additional features

  • Embedding of WinUSB, libusb0.sys or libusbK.sys, USB Serial (CDC) or your own USB drivers (eg. WHQL)
  • Full locale support with UTF-8 API strings and UTF-16 autogenerated inf files
  • Resolution of USB Vendor IDs, based on the data maintained by Stephen J. Gowdy at http://www.linux-usb.org/usb.ids
  • Fully Open Source (LGPL v3), with multiple sample applications
  • Supports MinGW32, MinGW-w64, Visual Studio, WDK

Installation and Compilation

See: https://github.com/pbatard/libwdi/wiki/Install

API usage

See: https://github.com/pbatard/libwdi/wiki/Usage

FAQ

See: https://github.com/pbatard/libwdi/wiki/FAQ

About

Windows Driver Installer library for USB devices

Resources

License

GPL-3.0, LGPL-3.0 licenses found

Licenses found

GPL-3.0
COPYING
LGPL-3.0
COPYING-LGPL

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 42.4%
  • C# 18.4%
  • Visual Basic .NET 10.1%
  • Objective-C 9.9%
  • Boo 6.8%
  • Pascal 5.1%
  • Other 7.3%