iohidmanager 0.10.4

Safe Rust bindings for Apple's IOKit HID — enumerate, inspect, and subscribe to HID devices on macOS
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import Foundation
import IOKit.hid

@inline(__always)
func hidObject<T>(_ raw: UnsafeMutableRawPointer?, as type: T.Type) -> T? {
    guard let raw else {
        return nil
    }
    return Unmanaged<AnyObject>.fromOpaque(raw).takeUnretainedValue() as? T
}

@inline(__always)
func retainOpaque<T: AnyObject>(_ object: T) -> UnsafeMutableRawPointer {
    UnsafeMutableRawPointer(Unmanaged.passRetained(object).toOpaque())
}