| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
SDL3.Sys.Bindgen.Hidapi
Description
Header file for SDL HIDAPI functions.
This is an adaptation of the original HIDAPI interface by Alan Ott, and includes source code licensed under the following license:
HIDAPI - Multi-Platform library for
communication with HID devices.
Copyright 2009, Alan Ott, Signal 11 Software.
All Rights Reserved.
This software may be used by anyone for any reason so
long as the copyright notice in the source files
remains intact.
(Note that this license is the same as item three of SDL's zlib license, so it adds no new requirements on the user.)
If you would like a version of SDL without this code, you can build SDL with SDL_HIDAPI_DISABLED defined to 1. You might want to do this for example on iOS or tvOS to avoid a dependency on the CoreBluetooth framework. An opaque handle representing an open HID device.
Since: 3.2.0
Synopsis
- data SDL_hid_device
- newtype SDL_hid_bus_type = SDL_hid_bus_type {}
- pattern SDL_HID_API_BUS_UNKNOWN :: SDL_hid_bus_type
- pattern SDL_HID_API_BUS_USB :: SDL_hid_bus_type
- pattern SDL_HID_API_BUS_BLUETOOTH :: SDL_hid_bus_type
- pattern SDL_HID_API_BUS_I2C :: SDL_hid_bus_type
- pattern SDL_HID_API_BUS_SPI :: SDL_hid_bus_type
- data SDL_hid_device_info = SDL_hid_device_info {
- path :: Ptr CChar
- vendor_id :: CUShort
- product_id :: CUShort
- serial_number :: Ptr CWchar
- release_number :: CUShort
- manufacturer_string :: Ptr CWchar
- product_string :: Ptr CWchar
- usage_page :: CUShort
- usage :: CUShort
- interface_number :: CInt
- interface_class :: CInt
- interface_subclass :: CInt
- interface_protocol :: CInt
- bus_type :: SDL_hid_bus_type
- next :: Ptr SDL_hid_device_info
- sDL_PROP_HIDAPI_LIBUSB_DEVICE_HANDLE_POINTER :: ByteString
Documentation
data SDL_hid_device Source #
- C declaration
struct SDL_hid_device, defined atSDL3/SDL_hidapi.h 71:16
newtype SDL_hid_bus_type Source #
HID underlying bus types.
- C declaration
enum SDL_hid_bus_type, defined atSDL3/SDL_hidapi.h 78:14
Since: 3.2.0
Constructors
| SDL_hid_bus_type | |
Instances
pattern SDL_HID_API_BUS_UNKNOWN :: SDL_hid_bus_type Source #
Unknown bus type
- C declaration
SDL_HID_API_BUS_UNKNOWN, defined atSDL3/SDL_hidapi.h 80:5
pattern SDL_HID_API_BUS_USB :: SDL_hid_bus_type Source #
USB bus Specifications: https://usb.org/hid
- C declaration
SDL_HID_API_BUS_USB, defined atSDL3/SDL_hidapi.h 85:5
pattern SDL_HID_API_BUS_BLUETOOTH :: SDL_hid_bus_type Source #
Bluetooth or Bluetooth LE bus Specifications: https://www.bluetooth.com/specifications/specs/human-interface-device-profile-1-1-1/ https://www.bluetooth.com/specifications/specs/hid-service-1-0/ https://www.bluetooth.com/specifications/specs/hid-over-gatt-profile-1-0/
- C declaration
SDL_HID_API_BUS_BLUETOOTH, defined atSDL3/SDL_hidapi.h 92:5
pattern SDL_HID_API_BUS_I2C :: SDL_hid_bus_type Source #
I2C bus Specifications: https://docs.microsoft.com/previous-versions/windows/hardware/design/dn642101(v=vs.85))
- C declaration
SDL_HID_API_BUS_I2C, defined atSDL3/SDL_hidapi.h 97:5
pattern SDL_HID_API_BUS_SPI :: SDL_hid_bus_type Source #
SPI bus Specifications: https://www.microsoft.com/download/details.aspx?id=103325
- C declaration
SDL_HID_API_BUS_SPI, defined atSDL3/SDL_hidapi.h 102:5
data SDL_hid_device_info Source #
hidapi info structure Information about a connected HID device
- C declaration
struct SDL_hid_device_info, defined atSDL3/SDL_hidapi.h 113:16
Since: 3.2.0
Constructors
| SDL_hid_device_info | |
Fields
| |
Instances
| Storable SDL_hid_device_info Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods sizeOf :: SDL_hid_device_info -> Int # alignment :: SDL_hid_device_info -> Int # peekElemOff :: Ptr SDL_hid_device_info -> Int -> IO SDL_hid_device_info # pokeElemOff :: Ptr SDL_hid_device_info -> Int -> SDL_hid_device_info -> IO () # peekByteOff :: Ptr b -> Int -> IO SDL_hid_device_info # pokeByteOff :: Ptr b -> Int -> SDL_hid_device_info -> IO () # peek :: Ptr SDL_hid_device_info -> IO SDL_hid_device_info # poke :: Ptr SDL_hid_device_info -> SDL_hid_device_info -> IO () # | |||||
| Generic SDL_hid_device_info Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Associated Types
Methods from :: SDL_hid_device_info -> Rep SDL_hid_device_info x # to :: Rep SDL_hid_device_info x -> SDL_hid_device_info # | |||||
| Show SDL_hid_device_info Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods showsPrec :: Int -> SDL_hid_device_info -> ShowS # show :: SDL_hid_device_info -> String # showList :: [SDL_hid_device_info] -> ShowS # | |||||
| Eq SDL_hid_device_info Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods (==) :: SDL_hid_device_info -> SDL_hid_device_info -> Bool # (/=) :: SDL_hid_device_info -> SDL_hid_device_info -> Bool # | |||||
| ReadRaw SDL_hid_device_info Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods readRaw :: Ptr SDL_hid_device_info -> IO SDL_hid_device_info # | |||||
| StaticSize SDL_hid_device_info Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods staticSizeOf :: Proxy SDL_hid_device_info -> Int # | |||||
| WriteRaw SDL_hid_device_info Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods writeRaw :: Ptr SDL_hid_device_info -> SDL_hid_device_info -> IO () # | |||||
| IsStruct SDL_hid_device_info Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods | |||||
| HasCField SDL_hid_device_info "bus_type" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Associated Types
| |||||
| HasCField SDL_hid_device_info "interface_class" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Associated Types
| |||||
| HasCField SDL_hid_device_info "interface_number" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Associated Types
| |||||
| HasCField SDL_hid_device_info "interface_protocol" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Associated Types
| |||||
| HasCField SDL_hid_device_info "interface_subclass" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Associated Types
| |||||
| HasCField SDL_hid_device_info "manufacturer_string" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Associated Types
| |||||
| HasCField SDL_hid_device_info "next" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Associated Types
| |||||
| HasCField SDL_hid_device_info "path" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Associated Types
| |||||
| HasCField SDL_hid_device_info "product_id" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Associated Types
| |||||
| HasCField SDL_hid_device_info "product_string" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Associated Types
| |||||
| HasCField SDL_hid_device_info "release_number" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Associated Types
| |||||
| HasCField SDL_hid_device_info "serial_number" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Associated Types
| |||||
| HasCField SDL_hid_device_info "usage" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Associated Types
| |||||
| HasCField SDL_hid_device_info "usage_page" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Associated Types
| |||||
| HasCField SDL_hid_device_info "vendor_id" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Associated Types
| |||||
| ty ~ SDL_hid_bus_type => HasField "bus_type" SDL_hid_device_info ty Source # | Underlying bus type
| ||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods hasField :: SDL_hid_device_info -> (ty -> SDL_hid_device_info, ty) # | |||||
| ty ~ CInt => HasField "interface_class" SDL_hid_device_info ty Source # | Additional information about the USB interface. Valid on libusb and Android implementations.
| ||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods hasField :: SDL_hid_device_info -> (ty -> SDL_hid_device_info, ty) # | |||||
| ty ~ CInt => HasField "interface_number" SDL_hid_device_info ty Source # | The USB interface which this logical device represents. Valid only if the device is a USB HID device. Set to -1 in all other cases.
| ||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods hasField :: SDL_hid_device_info -> (ty -> SDL_hid_device_info, ty) # | |||||
| ty ~ CInt => HasField "interface_protocol" SDL_hid_device_info ty Source # |
| ||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods hasField :: SDL_hid_device_info -> (ty -> SDL_hid_device_info, ty) # | |||||
| ty ~ CInt => HasField "interface_subclass" SDL_hid_device_info ty Source # |
| ||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods hasField :: SDL_hid_device_info -> (ty -> SDL_hid_device_info, ty) # | |||||
| ty ~ Ptr CWchar => HasField "manufacturer_string" SDL_hid_device_info ty Source # | Manufacturer String
| ||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods hasField :: SDL_hid_device_info -> (ty -> SDL_hid_device_info, ty) # | |||||
| ty ~ Ptr SDL_hid_device_info => HasField "next" SDL_hid_device_info ty Source # | Pointer to the next device
| ||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods hasField :: SDL_hid_device_info -> (ty -> SDL_hid_device_info, ty) # | |||||
| ty ~ Ptr CChar => HasField "path" SDL_hid_device_info ty Source # | Platform-specific device path
| ||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods hasField :: SDL_hid_device_info -> (ty -> SDL_hid_device_info, ty) # | |||||
| ty ~ CUShort => HasField "product_id" SDL_hid_device_info ty Source # | Device Product ID
| ||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods hasField :: SDL_hid_device_info -> (ty -> SDL_hid_device_info, ty) # | |||||
| ty ~ Ptr CWchar => HasField "product_string" SDL_hid_device_info ty Source # | Product string
| ||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods hasField :: SDL_hid_device_info -> (ty -> SDL_hid_device_info, ty) # | |||||
| ty ~ CUShort => HasField "release_number" SDL_hid_device_info ty Source # | Device Release Number in binary-coded decimal, also known as Device Version Number
| ||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods hasField :: SDL_hid_device_info -> (ty -> SDL_hid_device_info, ty) # | |||||
| ty ~ Ptr CWchar => HasField "serial_number" SDL_hid_device_info ty Source # | Serial Number
| ||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods hasField :: SDL_hid_device_info -> (ty -> SDL_hid_device_info, ty) # | |||||
| ty ~ CUShort => HasField "usage" SDL_hid_device_info ty Source # | Usage for this Device/Interface (Windows/Mac/hidraw only)
| ||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods hasField :: SDL_hid_device_info -> (ty -> SDL_hid_device_info, ty) # | |||||
| ty ~ CUShort => HasField "usage_page" SDL_hid_device_info ty Source # | Usage Page for this Device/Interface (Windows/Mac/hidraw only)
| ||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods hasField :: SDL_hid_device_info -> (ty -> SDL_hid_device_info, ty) # | |||||
| ty ~ CUShort => HasField "vendor_id" SDL_hid_device_info ty Source # | Device Vendor ID
| ||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods hasField :: SDL_hid_device_info -> (ty -> SDL_hid_device_info, ty) # | |||||
| ty ~ SDL_hid_bus_type => HasField "bus_type" (Ptr SDL_hid_device_info) (Ptr ty :: Type) Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods getField :: Ptr SDL_hid_device_info -> Ptr ty # | |||||
| ty ~ CInt => HasField "interface_class" (Ptr SDL_hid_device_info) (Ptr ty :: Type) Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods getField :: Ptr SDL_hid_device_info -> Ptr ty # | |||||
| ty ~ CInt => HasField "interface_number" (Ptr SDL_hid_device_info) (Ptr ty :: Type) Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods getField :: Ptr SDL_hid_device_info -> Ptr ty # | |||||
| ty ~ CInt => HasField "interface_protocol" (Ptr SDL_hid_device_info) (Ptr ty :: Type) Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods getField :: Ptr SDL_hid_device_info -> Ptr ty # | |||||
| ty ~ CInt => HasField "interface_subclass" (Ptr SDL_hid_device_info) (Ptr ty :: Type) Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods getField :: Ptr SDL_hid_device_info -> Ptr ty # | |||||
| ty ~ Ptr CWchar => HasField "manufacturer_string" (Ptr SDL_hid_device_info) (Ptr ty :: Type) Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods getField :: Ptr SDL_hid_device_info -> Ptr ty # | |||||
| ty ~ Ptr SDL_hid_device_info => HasField "next" (Ptr SDL_hid_device_info) (Ptr ty :: Type) Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods getField :: Ptr SDL_hid_device_info -> Ptr ty # | |||||
| ty ~ Ptr CChar => HasField "path" (Ptr SDL_hid_device_info) (Ptr ty :: Type) Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods getField :: Ptr SDL_hid_device_info -> Ptr ty # | |||||
| ty ~ CUShort => HasField "product_id" (Ptr SDL_hid_device_info) (Ptr ty :: Type) Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods getField :: Ptr SDL_hid_device_info -> Ptr ty # | |||||
| ty ~ Ptr CWchar => HasField "product_string" (Ptr SDL_hid_device_info) (Ptr ty :: Type) Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods getField :: Ptr SDL_hid_device_info -> Ptr ty # | |||||
| ty ~ CUShort => HasField "release_number" (Ptr SDL_hid_device_info) (Ptr ty :: Type) Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods getField :: Ptr SDL_hid_device_info -> Ptr ty # | |||||
| ty ~ Ptr CWchar => HasField "serial_number" (Ptr SDL_hid_device_info) (Ptr ty :: Type) Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods getField :: Ptr SDL_hid_device_info -> Ptr ty # | |||||
| ty ~ CUShort => HasField "usage" (Ptr SDL_hid_device_info) (Ptr ty :: Type) Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods getField :: Ptr SDL_hid_device_info -> Ptr ty # | |||||
| ty ~ CUShort => HasField "usage_page" (Ptr SDL_hid_device_info) (Ptr ty :: Type) Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods getField :: Ptr SDL_hid_device_info -> Ptr ty # | |||||
| ty ~ CUShort => HasField "vendor_id" (Ptr SDL_hid_device_info) (Ptr ty :: Type) Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi Methods getField :: Ptr SDL_hid_device_info -> Ptr ty # | |||||
| type Rep SDL_hid_device_info Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi type Rep SDL_hid_device_info = D1 ('MetaData "SDL_hid_device_info" "SDL3.Sys.Bindgen.Hidapi" "sdl3-bindgen-sys-0.0.1.0-inplace" 'False) (C1 ('MetaCons "SDL_hid_device_info" 'PrefixI 'True) (((S1 ('MetaSel ('Just "path") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Ptr CChar)) :*: (S1 ('MetaSel ('Just "vendor_id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 CUShort) :*: S1 ('MetaSel ('Just "product_id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 CUShort))) :*: ((S1 ('MetaSel ('Just "serial_number") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Ptr CWchar)) :*: S1 ('MetaSel ('Just "release_number") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 CUShort)) :*: (S1 ('MetaSel ('Just "manufacturer_string") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Ptr CWchar)) :*: S1 ('MetaSel ('Just "product_string") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Ptr CWchar))))) :*: (((S1 ('MetaSel ('Just "usage_page") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 CUShort) :*: S1 ('MetaSel ('Just "usage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 CUShort)) :*: (S1 ('MetaSel ('Just "interface_number") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 CInt) :*: S1 ('MetaSel ('Just "interface_class") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 CInt))) :*: ((S1 ('MetaSel ('Just "interface_subclass") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 CInt) :*: S1 ('MetaSel ('Just "interface_protocol") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 CInt)) :*: (S1 ('MetaSel ('Just "bus_type") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SDL_hid_bus_type) :*: S1 ('MetaSel ('Just "next") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Ptr SDL_hid_device_info))))))) | |||||
| type CFieldType SDL_hid_device_info "bus_type" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi | |||||
| type CFieldType SDL_hid_device_info "interface_class" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi | |||||
| type CFieldType SDL_hid_device_info "interface_number" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi | |||||
| type CFieldType SDL_hid_device_info "interface_protocol" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi | |||||
| type CFieldType SDL_hid_device_info "interface_subclass" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi | |||||
| type CFieldType SDL_hid_device_info "manufacturer_string" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi | |||||
| type CFieldType SDL_hid_device_info "next" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi | |||||
| type CFieldType SDL_hid_device_info "path" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi | |||||
| type CFieldType SDL_hid_device_info "product_id" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi | |||||
| type CFieldType SDL_hid_device_info "product_string" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi | |||||
| type CFieldType SDL_hid_device_info "release_number" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi | |||||
| type CFieldType SDL_hid_device_info "serial_number" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi | |||||
| type CFieldType SDL_hid_device_info "usage" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi | |||||
| type CFieldType SDL_hid_device_info "usage_page" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi | |||||
| type CFieldType SDL_hid_device_info "vendor_id" Source # | |||||
Defined in SDL3.Sys.Bindgen.Hidapi | |||||
sDL_PROP_HIDAPI_LIBUSB_DEVICE_HANDLE_POINTER :: ByteString Source #
- C declaration
macro SDL_PROP_HIDAPI_LIBUSB_DEVICE_HANDLE_POINTER, literal"SDL.hidapi.libusb.device.handle", defined atSDL3/SDL_hidapi.h 303:9