Skip to content

Latest commit

 

History

History
68 lines (53 loc) · 2.77 KB

README.md

File metadata and controls

68 lines (53 loc) · 2.77 KB

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