Formatting and changelog updates. (#14)
Reviewed-on: https://codeberg.org/annabunches/joyful/pulls/14
This commit is contained in:
parent
7e4d4f3c20
commit
b80c5e3032
4 changed files with 24 additions and 19 deletions
|
|
@ -10,9 +10,11 @@ type Config struct {
|
|||
|
||||
// TODO: configure custom unmarshaling so we can overload Buttons, Axes, and RelativeAxes...
|
||||
type DeviceConfigVirtual struct {
|
||||
Name string
|
||||
VendorId string `yaml:"vendor_id,omitempty"`
|
||||
DeviceId string `yaml:"device_id,omitempty"`
|
||||
Name string
|
||||
// VendorId is the uint16 vendor id, for default see internal/virtualdevice/variables.go
|
||||
VendorId string `yaml:"vendor_id,omitempty"`
|
||||
// DeviceId is the uint16 device id, for default see internal/virtualdevice/variables.go
|
||||
DeviceId string `yaml:"device_id,omitempty"`
|
||||
Preset string
|
||||
NumButtons int `yaml:"num_buttons,omitempty"`
|
||||
NumAxes int `yaml:"num_axes,omitempty"`
|
||||
|
|
|
|||
|
|
@ -3,22 +3,23 @@ package virtualdevice
|
|||
import (
|
||||
"fmt"
|
||||
|
||||
"strconv"
|
||||
|
||||
"git.annabunches.net/annabunches/joyful/internal/configparser"
|
||||
"git.annabunches.net/annabunches/joyful/internal/eventcodes"
|
||||
"git.annabunches.net/annabunches/joyful/internal/logger"
|
||||
"github.com/holoplot/go-evdev"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
func ParseUInt16(s string, def uint16) uint16 {
|
||||
if s == "" {
|
||||
return def
|
||||
}
|
||||
v, err := strconv.ParseUint(s, 0, 16)
|
||||
if err != nil {
|
||||
return def
|
||||
}
|
||||
return uint16(v)
|
||||
if s == "" {
|
||||
return def
|
||||
}
|
||||
v, err := strconv.ParseUint(s, 0, 16)
|
||||
if err != nil {
|
||||
return def
|
||||
}
|
||||
return uint16(v)
|
||||
}
|
||||
|
||||
// NewEventBuffer takes a virtual device config specification, creates the underlying
|
||||
|
|
@ -50,11 +51,11 @@ func NewEventBuffer(config configparser.DeviceConfigVirtual) (*EventBuffer, erro
|
|||
|
||||
device, err := evdev.CreateDevice(
|
||||
name,
|
||||
// TODO: placeholders. BusType = differentiate between input bus (3 = usb), Vendor = uint16 vendor id, Product: uint16 devoce id, Version = device version (differentiate between differing versions of exact same device)
|
||||
evdev.InputID{
|
||||
// 3 specifies USB bus type
|
||||
BusType: 0x03,
|
||||
Vendor: ParseUInt16(config.VendorId, VirtualDeviceVendorId),
|
||||
Product: ParseUInt16(config.DeviceId, VirtualDeviceDeviceId),
|
||||
Vendor: ParseUInt16(config.VendorId, VirtualDeviceDefaultVendorId),
|
||||
Product: ParseUInt16(config.DeviceId, VirtualDeviceDefaultDeviceId),
|
||||
Version: 1,
|
||||
},
|
||||
capabilities,
|
||||
|
|
|
|||
|
|
@ -7,10 +7,11 @@ const (
|
|||
DevicePresetGamepad = "gamepad"
|
||||
DevicePresetJoystick = "joystick"
|
||||
DevicePresetMouse = "mouse"
|
||||
|
||||
VirtualDeviceVendorId = 0x4711
|
||||
VirtualDeviceDeviceId = 0x0816
|
||||
VirtualDeviceMaxButtons = 74
|
||||
|
||||
// These defaults are taken or inferred from the go-evdev library
|
||||
VirtualDeviceDefaultVendorId = 0x4711
|
||||
VirtualDeviceDefaultDeviceId = 0x0816
|
||||
VirtualDeviceMaxButtons = 74
|
||||
)
|
||||
|
||||
// Device Presets
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue