diff --git a/Makefile b/Makefile index dba667d3..517e71ce 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ IMAGE_TAG ?= latest # systemd-sysext variables SYSEXT_ID ?= steamos -SYSEXT_VERSION_ID ?= 3.5.14 +SYSEXT_VERSION_ID ?= 3.5.15 # Include any user defined settings -include settings.mk @@ -45,8 +45,6 @@ install: build ## Install inputplumber to the given prefix (default: PREFIX=/usr $(PREFIX)/lib/systemd/system/$(NAME).service install -D -m 644 rootfs/usr/share/$(NAME)/devices/steam_deck.yaml \ $(PREFIX)/share/$(NAME)/devices/steam_deck.yaml - install -D -m 644 rootfs/usr/share/$(NAME)/devices/gamepads.yaml \ - $(PREFIX)/share/$(NAME)/devices/gamepads.yaml @echo "" @echo "Install completed. Enable service with:" @echo " systemctl enable --now $(NAME)" @@ -57,7 +55,6 @@ uninstall: ## Uninstall inputplumber rm $(PREFIX)/share/dbus-1/system.d/$(DBUS_NAME).conf rm $(PREFIX)/lib/systemd/system/$(NAME).service rm $(PREFIX)/share/$(NAME)/devices/steam_deck.yaml - rm $(PREFIX)/share/$(NAME)/devices/gamepads.yaml ##@ Development @@ -139,6 +136,21 @@ dist/$(NAME).raw: dist/$(NAME).tar.gz mv $(CACHE_DIR)/$(NAME).raw $@ cd dist && sha256sum $(NAME).raw > $(NAME).raw.sha256.txt +XSL_TEMPLATE := ./docs/dbus2markdown.xsl +.PHONY: docs +docs: ## Generate markdown docs for DBus interfaces + mkdir -p docs + xsltproc --novalid -o docs/manager.md $(XSL_TEMPLATE) ./bindings/dbus-xml/org.shadowblip.Input.Manager.xml + sed -i 's/DBus Interface API/Manager DBus Interface API/g' ./docs/manager.md + xsltproc --novalid -o docs/composite_device.md $(XSL_TEMPLATE) ./bindings/dbus-xml/org.shadowblip.Input.CompositeDevice.xml + sed -i 's/DBus Interface API/CompositeDevice DBus Interface API/g' ./docs/composite_device.md + xsltproc --novalid -o docs/source_event_device.md $(XSL_TEMPLATE) ./bindings/dbus-xml/org.shadowblip.Input.Source.EventDevice.xml + sed -i 's/DBus Interface API/Source EventDevice DBus Interface API/g' ./docs/source_event_device.md + xsltproc --novalid -o docs/source_hidraw_device.md $(XSL_TEMPLATE) ./bindings/dbus-xml/org.shadowblip.Input.Source.HIDRawDevice.xml + sed -i 's/DBus Interface API/Source HIDRaw DBus Interface API/g' ./docs/source_hidraw_device.md + xsltproc --novalid -o docs/keyboard.md $(XSL_TEMPLATE) ./bindings/dbus-xml/org.shadowblip.Input.Keyboard + sed -i 's/DBus Interface API/Keyboard DBus Interface API/g' ./docs/keyboard.md + # Refer to .releaserc.yaml for release configuration .PHONY: sem-release sem-release: ## Publish a release with semantic release diff --git a/bindings/dbus-xml/org.shadowblip.Input.CompositeDevice.xml b/bindings/dbus-xml/org.shadowblip.Input.CompositeDevice.xml new file mode 100644 index 00000000..9d36bd05 --- /dev/null +++ b/bindings/dbus-xml/org.shadowblip.Input.CompositeDevice.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bindings/dbus-xml/org.shadowblip.Input.Keyboard b/bindings/dbus-xml/org.shadowblip.Input.Keyboard new file mode 100644 index 00000000..0624990f --- /dev/null +++ b/bindings/dbus-xml/org.shadowblip.Input.Keyboard @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bindings/dbus-xml/org.shadowblip.Input.Manager.xml b/bindings/dbus-xml/org.shadowblip.Input.Manager.xml new file mode 100644 index 00000000..643fa9c3 --- /dev/null +++ b/bindings/dbus-xml/org.shadowblip.Input.Manager.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bindings/dbus-xml/org.shadowblip.Input.Source.EventDevice.xml b/bindings/dbus-xml/org.shadowblip.Input.Source.EventDevice.xml new file mode 100644 index 00000000..353d54c5 --- /dev/null +++ b/bindings/dbus-xml/org.shadowblip.Input.Source.EventDevice.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bindings/dbus-xml/org.shadowblip.Input.Source.HIDRawDevice.xml b/bindings/dbus-xml/org.shadowblip.Input.Source.HIDRawDevice.xml new file mode 100644 index 00000000..b1b78fa6 --- /dev/null +++ b/bindings/dbus-xml/org.shadowblip.Input.Source.HIDRawDevice.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/composite_device.md b/docs/composite_device.md new file mode 100644 index 00000000..6b2ab9dc --- /dev/null +++ b/docs/composite_device.md @@ -0,0 +1,92 @@ +# CompositeDevice DBus Interface API + +## org.shadowblip.Input.CompositeDevice + +### Properties + +| Name | Access | Type | Description | +| --- | :---: | :---: | --- | +| **DbusDevices** | *read* | *as* | | +| **InterceptMode** | *readwrite* | *u* | | +| **Name** | *read* | *s* | | +| **SourceDevicePaths** | *read* | *as* | | +| **TargetDevices** | *read* | *as* | | + +### Methods + +### Signals + +## org.freedesktop.DBus.Introspectable + +### Methods + +#### Introspect + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| \*\*\*\* | *out* | *s* | | + +### Signals + +## org.freedesktop.DBus.Peer + +### Methods + +#### Ping + +#### GetMachineId + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| \*\*\*\* | *out* | *s* | | + +### Signals + +## org.freedesktop.DBus.Properties + +### Methods + +#### Get + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| **interface_name** | *in* | *s* | | +| **property_name** | *in* | *s* | | +| \*\*\*\* | *out* | *v* | | + +#### Set + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| **interface_name** | *in* | *s* | | +| **property_name** | *in* | *s* | | +| **value** | *in* | *v* | | + +#### GetAll + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| **interface_name** | *in* | *s* | | +| \*\*\*\* | *out* | *a{sv}* | | + +### Signals + +#### PropertiesChanged + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| **interface_name** | \*\* | *s* | | +| **changed_properties** | \*\* | *a{sv}* | | +| **invalidated_properties** | \*\* | *as* | | diff --git a/docs/dbus2markdown.xsl b/docs/dbus2markdown.xsl new file mode 100644 index 00000000..884d99f4 --- /dev/null +++ b/docs/dbus2markdown.xsl @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# DBus Interface API + +## + + +### Properties + +| Name | Access | Type | Description | +| --- | :---: | :---: | --- | + + + + + + + + + + + + + + + + | **** | ** | ** | | + +### Methods + + + + + + + + +#### + + + + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | + + + + + + + + + + + + + + + + | **** | ** | ** | | + + + + +### Signals + + + + + + + + +#### + + + + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | + + + + + + + + + | **** | ** | ** | | + + + + + + + diff --git a/docs/keyboard.md b/docs/keyboard.md new file mode 100644 index 00000000..1fa83498 --- /dev/null +++ b/docs/keyboard.md @@ -0,0 +1,97 @@ +# Keyboard DBus Interface API + +## org.freedesktop.DBus.Properties + +### Methods + +#### Get + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| **interface_name** | *in* | *s* | | +| **property_name** | *in* | *s* | | +| \*\*\*\* | *out* | *v* | | + +#### Set + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| **interface_name** | *in* | *s* | | +| **property_name** | *in* | *s* | | +| **value** | *in* | *v* | | + +#### GetAll + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| **interface_name** | *in* | *s* | | +| \*\*\*\* | *out* | *a{sv}* | | + +### Signals + +#### PropertiesChanged + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| **interface_name** | \*\* | *s* | | +| **changed_properties** | \*\* | *a{sv}* | | +| **invalidated_properties** | \*\* | *as* | | + +## org.freedesktop.DBus.Introspectable + +### Methods + +#### Introspect + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| \*\*\*\* | *out* | *s* | | + +### Signals + +## org.shadowblip.Input.Keyboard + +### Properties + +| Name | Access | Type | Description | +| --- | :---: | :---: | --- | +| **Name** | *read* | *s* | | + +### Methods + +#### SendKey + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| **key** | *in* | *s* | | +| **value** | *in* | *b* | | + +### Signals + +## org.freedesktop.DBus.Peer + +### Methods + +#### Ping + +#### GetMachineId + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| \*\*\*\* | *out* | *s* | | + +### Signals diff --git a/docs/manager.md b/docs/manager.md new file mode 100644 index 00000000..e34dec02 --- /dev/null +++ b/docs/manager.md @@ -0,0 +1,97 @@ +# Manager DBus Interface API + +## org.freedesktop.DBus.Peer + +### Methods + +#### Ping + +#### GetMachineId + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| \*\*\*\* | *out* | *s* | | + +### Signals + +## org.freedesktop.DBus.Introspectable + +### Methods + +#### Introspect + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| \*\*\*\* | *out* | *s* | | + +### Signals + +## org.shadowblip.InputManager + +### Properties + +| Name | Access | Type | Description | +| --- | :---: | :---: | --- | +| **InterceptMode** | *read* | *s* | | + +### Methods + +#### CreateCompositeDevice + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| **config_path** | *in* | *s* | | +| \*\*\*\* | *out* | *s* | | + +### Signals + +## org.freedesktop.DBus.Properties + +### Methods + +#### Get + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| **interface_name** | *in* | *s* | | +| **property_name** | *in* | *s* | | +| \*\*\*\* | *out* | *v* | | + +#### Set + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| **interface_name** | *in* | *s* | | +| **property_name** | *in* | *s* | | +| **value** | *in* | *v* | | + +#### GetAll + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| **interface_name** | *in* | *s* | | +| \*\*\*\* | *out* | *a{sv}* | | + +### Signals + +#### PropertiesChanged + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| **interface_name** | \*\* | *s* | | +| **changed_properties** | \*\* | *a{sv}* | | +| **invalidated_properties** | \*\* | *as* | | diff --git a/docs/source_event_device.md b/docs/source_event_device.md new file mode 100644 index 00000000..550f9e45 --- /dev/null +++ b/docs/source_event_device.md @@ -0,0 +1,93 @@ +# Source EventDevice DBus Interface API + +## org.freedesktop.DBus.Peer + +### Methods + +#### Ping + +#### GetMachineId + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| \*\*\*\* | *out* | *s* | | + +### Signals + +## org.freedesktop.DBus.Introspectable + +### Methods + +#### Introspect + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| \*\*\*\* | *out* | *s* | | + +### Signals + +## org.shadowblip.Input.Source.EventDevice + +### Properties + +| Name | Access | Type | Description | +| --- | :---: | :---: | --- | +| **DevicePath** | *read* | *s* | | +| **Handlers** | *read* | *as* | | +| **Name** | *read* | *s* | | +| **PhysPath** | *read* | *s* | | +| **SysfsPath** | *read* | *s* | | +| **UniqueId** | *read* | *s* | | + +### Methods + +### Signals + +## org.freedesktop.DBus.Properties + +### Methods + +#### Get + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| **interface_name** | *in* | *s* | | +| **property_name** | *in* | *s* | | +| \*\*\*\* | *out* | *v* | | + +#### Set + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| **interface_name** | *in* | *s* | | +| **property_name** | *in* | *s* | | +| **value** | *in* | *v* | | + +#### GetAll + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| **interface_name** | *in* | *s* | | +| \*\*\*\* | *out* | *a{sv}* | | + +### Signals + +#### PropertiesChanged + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| **interface_name** | \*\* | *s* | | +| **changed_properties** | \*\* | *a{sv}* | | +| **invalidated_properties** | \*\* | *as* | | diff --git a/docs/source_hidraw_device.md b/docs/source_hidraw_device.md new file mode 100644 index 00000000..dbf20f7b --- /dev/null +++ b/docs/source_hidraw_device.md @@ -0,0 +1,95 @@ +# Source HIDRaw DBus Interface API + +## org.freedesktop.DBus.Properties + +### Methods + +#### Get + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| **interface_name** | *in* | *s* | | +| **property_name** | *in* | *s* | | +| \*\*\*\* | *out* | *v* | | + +#### Set + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| **interface_name** | *in* | *s* | | +| **property_name** | *in* | *s* | | +| **value** | *in* | *v* | | + +#### GetAll + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| **interface_name** | *in* | *s* | | +| \*\*\*\* | *out* | *a{sv}* | | + +### Signals + +#### PropertiesChanged + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| **interface_name** | \*\* | *s* | | +| **changed_properties** | \*\* | *a{sv}* | | +| **invalidated_properties** | \*\* | *as* | | + +## org.freedesktop.DBus.Introspectable + +### Methods + +#### Introspect + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| \*\*\*\* | *out* | *s* | | + +### Signals + +## org.shadowblip.Input.Source.HIDRawDevice + +### Properties + +| Name | Access | Type | Description | +| --- | :---: | :---: | --- | +| **InterfaceNumber** | *read* | *i* | | +| **Manufacturer** | *read* | *s* | | +| **Path** | *read* | *s* | | +| **Product** | *read* | *s* | | +| **ProductId** | *read* | *s* | | +| **ReleaseNumber** | *read* | *s* | | +| **SerialNumber** | *read* | *s* | | +| **VendorId** | *read* | *s* | | + +### Methods + +### Signals + +## org.freedesktop.DBus.Peer + +### Methods + +#### Ping + +#### GetMachineId + +##### Arguments + +| Name | Direction | Type | Description | +| --- | :---: | :---: | --- | +| \*\*\*\* | *out* | *s* | | + +### Signals