2017-02-16 07:36:44 -06:00
|
|
|
// hid - Gopher Interface Devices (USB HID)
|
|
|
|
// Copyright (c) 2017 Péter Szilágyi. All rights reserved.
|
|
|
|
//
|
|
|
|
// This file is released under the 3-clause BSD license. Note however that Linux
|
2017-08-21 05:45:50 -05:00
|
|
|
// support depends on libusb, released under GNU LGPL 2.1 or later.
|
2017-02-16 07:36:44 -06:00
|
|
|
|
|
|
|
// Package hid provides an interface for USB HID devices.
|
|
|
|
package hid
|
|
|
|
|
|
|
|
import "errors"
|
|
|
|
|
|
|
|
// ErrDeviceClosed is returned for operations where the device closed before or
|
|
|
|
// during the execution.
|
|
|
|
var ErrDeviceClosed = errors.New("hid: device closed")
|
|
|
|
|
|
|
|
// ErrUnsupportedPlatform is returned for all operations where the underlying
|
|
|
|
// operating system is not supported by the library.
|
|
|
|
var ErrUnsupportedPlatform = errors.New("hid: unsupported platform")
|
|
|
|
|
|
|
|
// DeviceInfo is a hidapi info structure.
|
|
|
|
type DeviceInfo struct {
|
|
|
|
Path string // Platform-specific device path
|
|
|
|
VendorID uint16 // Device Vendor ID
|
|
|
|
ProductID uint16 // Device Product ID
|
|
|
|
Release uint16 // Device Release Number in binary-coded decimal, also known as Device Version Number
|
|
|
|
Serial string // Serial Number
|
|
|
|
Manufacturer string // Manufacturer String
|
|
|
|
Product string // Product string
|
|
|
|
UsagePage uint16 // Usage Page for this Device/Interface (Windows/Mac only)
|
|
|
|
Usage uint16 // Usage for this Device/Interface (Windows/Mac only)
|
|
|
|
|
|
|
|
// The USB interface which this logical device
|
|
|
|
// represents. Valid on both Linux implementations
|
|
|
|
// in all cases, and valid on the Windows implementation
|
|
|
|
// only if the device contains more than one interface.
|
|
|
|
Interface int
|
|
|
|
}
|