From 7892ec9cf7fb10d60fa0e8b76f2408481c3e7775 Mon Sep 17 00:00:00 2001 From: blackspherefollower Date: Wed, 12 Aug 2026 15:35:50 +0100 Subject: [PATCH 1/4] feat: Adding new Galaku devices * Adorime Anal Vibrator 2 * Galaku F1 --- .../buttplug-device-config-v5.json | 63 ++++++++++++++++++- .../device-config/protocols/galaku.yml | 36 +++++++++++ .../device-config/version.yaml | 2 +- 3 files changed, 99 insertions(+), 2 deletions(-) diff --git a/crates/buttplug_server_device_config/build-config/buttplug-device-config-v5.json b/crates/buttplug_server_device_config/build-config/buttplug-device-config-v5.json index a1aeeeaa0..453084228 100644 --- a/crates/buttplug_server_device_config/build-config/buttplug-device-config-v5.json +++ b/crates/buttplug_server_device_config/build-config/buttplug-device-config-v5.json @@ -1,7 +1,7 @@ { "version": { "major": 5, - "minor": 30 + "minor": 32 }, "protocols": { "activejoy": { @@ -1526,6 +1526,7 @@ "BGZY", "A531", "YXSJ", + "K128", "G317", "G312", "G302", @@ -2029,6 +2030,13 @@ ], "name": "Adorime Pink Touch" }, + { + "id": "f81414d2-6a99-4dde-9b59-e6e77fd037df", + "identifier": [ + "K128" + ], + "name": "Galaku F1" + }, { "features": [ { @@ -3937,6 +3945,59 @@ ], "name": "Adorime Backy" }, + { + "features": [ + { + "description": "Thruster", + "id": "0a42e499-11b4-4fa6-aec8-a9d0aa3a8eff", + "index": 0, + "output": { + "oscillate": { + "value": [ + 0, + 100 + ] + } + } + }, + { + "description": "Vibrate", + "id": "ee2e67ea-12c4-4dc9-9e81-0edcefd31d6c", + "index": 1, + "output": { + "vibrate": { + "value": [ + 0, + 100 + ] + } + } + }, + { + "description": "Battery Level", + "id": "37e2c89c-17a6-4449-8d5b-629c9abaca03", + "index": 2, + "input": { + "battery": { + "command": [ + "Read" + ], + "value": [ + [ + 0, + 100 + ] + ] + } + } + } + ], + "id": "d5a1963d-ec8c-4e89-af2f-df1572315b90", + "identifier": [ + "AK71" + ], + "name": "Adorime Anal Vibrator 2" + }, { "features": [ { diff --git a/crates/buttplug_server_device_config/device-config/protocols/galaku.yml b/crates/buttplug_server_device_config/device-config/protocols/galaku.yml index fd5c5840b..ac3e4f288 100644 --- a/crates/buttplug_server_device_config/device-config/protocols/galaku.yml +++ b/crates/buttplug_server_device_config/device-config/protocols/galaku.yml @@ -280,6 +280,10 @@ configurations: - A531 name: Adorime Pink Touch id: 5cfdd204-e0dd-4ec5-b133-205bd6ce660a +- identifier: + - K128 + name: Galaku F1 + id: f81414d2-6a99-4dde-9b59-e6e77fd037df # Type 1 - identifier: - G317 @@ -1397,6 +1401,37 @@ configurations: - Read index: 2 id: 349e64b6-931f-4e1a-b69c-4f9652f0cf2c +- identifier: + - AK71 + name: Adorime Anal Vibrator 2 + features: + - description: Thruster + id: 0a42e499-11b4-4fa6-aec8-a9d0aa3a8eff + output: + oscillate: + value: + - 0 + - 100 + index: 0 + - description: Vibrate + id: ee2e67ea-12c4-4dc9-9e81-0edcefd31d6c + output: + vibrate: + value: + - 0 + - 100 + index: 1 + - description: Battery Level + id: 37e2c89c-17a6-4449-8d5b-629c9abaca03 + input: + battery: + value: + - - 0 + - 100 + command: + - Read + index: 2 + id: d5a1963d-ec8c-4e89-af2f-df1572315b90 - identifier: - YXSJ name: Adorime Cock Ring @@ -1645,6 +1680,7 @@ communication: - BGZY # Adorime Penis Helmet Vibrator - A531 # Adorime Pink Touch - YXSJ # Adorime Cock Ring + - K128 # Galaku F1 # Type 1 - G317 - G312 diff --git a/crates/buttplug_server_device_config/device-config/version.yaml b/crates/buttplug_server_device_config/device-config/version.yaml index 03b91ac4b..4175f5024 100644 --- a/crates/buttplug_server_device_config/device-config/version.yaml +++ b/crates/buttplug_server_device_config/device-config/version.yaml @@ -1,3 +1,3 @@ version: major: 5 - minor: 30 + minor: 32 From c8687ede64fa44277c816b33e35ba6e1121f4fb9 Mon Sep 17 00:00:00 2001 From: blackspherefollower Date: Mon, 17 Aug 2026 09:55:07 +0100 Subject: [PATCH 2/4] feat: Adding support for JoyHub Passfree --- .../build-config/buttplug-device-config-v5.json | 12 ++++++++++-- .../device-config/protocols/joyhub.yml | 7 ++++++- .../device-config/version.yaml | 2 +- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/crates/buttplug_server_device_config/build-config/buttplug-device-config-v5.json b/crates/buttplug_server_device_config/build-config/buttplug-device-config-v5.json index 453084228..18329c8c0 100644 --- a/crates/buttplug_server_device_config/build-config/buttplug-device-config-v5.json +++ b/crates/buttplug_server_device_config/build-config/buttplug-device-config-v5.json @@ -1,7 +1,7 @@ { "version": { "major": 5, - "minor": 32 + "minor": 33 }, "protocols": { "activejoy": { @@ -6203,7 +6203,8 @@ "J-MartinoIII", "J-Punisher", "J-Prismcy", - "J-AresIII" + "J-AresIII", + "J-Passfree" ], "services": { "0000ffa0-0000-1000-8000-00805f9b34fb": { @@ -6278,6 +6279,13 @@ ], "name": "JoyHub Rhythmic 3" }, + { + "id": "a4c8897e-9aab-49d0-81c4-125b708f9939", + "identifier": [ + "J-Passfree" + ], + "name": "JoyHub Passfree" + }, { "features": [ { diff --git a/crates/buttplug_server_device_config/device-config/protocols/joyhub.yml b/crates/buttplug_server_device_config/device-config/protocols/joyhub.yml index 2f943dfe3..4d4b5958c 100644 --- a/crates/buttplug_server_device_config/device-config/protocols/joyhub.yml +++ b/crates/buttplug_server_device_config/device-config/protocols/joyhub.yml @@ -44,9 +44,13 @@ configurations: name: JoyHub Rhythmic 2 id: 46533dc6-6f1b-4b17-9f31-06b076f417d6 - identifier: - - J-Rhythmic3 + - J-Rhythmic3 name: JoyHub Rhythmic 3 id: 1a5dd035-8107-4db3-924d-503113b1c600 +- identifier: + - J-Passfree + name: JoyHub Passfree + id: a4c8897e-9aab-49d0-81c4-125b708f9939 - identifier: - J-Rainbow name: JoyHub Rainbow @@ -2843,6 +2847,7 @@ communication: - J-Punisher - J-Prismcy - J-AresIII + - J-Passfree services: 0000ffa0-0000-1000-8000-00805f9b34fb: tx: 0000ffa1-0000-1000-8000-00805f9b34fb diff --git a/crates/buttplug_server_device_config/device-config/version.yaml b/crates/buttplug_server_device_config/device-config/version.yaml index 4175f5024..8ff62b2b2 100644 --- a/crates/buttplug_server_device_config/device-config/version.yaml +++ b/crates/buttplug_server_device_config/device-config/version.yaml @@ -1,3 +1,3 @@ version: major: 5 - minor: 32 + minor: 33 From e2d76a0efd75d5dd639251281ff5504f194f332e Mon Sep 17 00:00:00 2001 From: blackspherefollower Date: Tue, 18 Aug 2026 13:57:31 +0100 Subject: [PATCH 3/4] feat: Adding support for iToys Lach --- .../src/device/protocol_impl/itoys.rs | 18 +++++++++ .../buttplug-device-config-v5.json | 38 ++++++++++++++++++- .../device-config/protocols/itoys.yml | 20 ++++++++++ .../device-config/version.yaml | 2 +- 4 files changed, 75 insertions(+), 3 deletions(-) diff --git a/crates/buttplug_server/src/device/protocol_impl/itoys.rs b/crates/buttplug_server/src/device/protocol_impl/itoys.rs index 8cc34bda5..ce6b4cea0 100644 --- a/crates/buttplug_server/src/device/protocol_impl/itoys.rs +++ b/crates/buttplug_server/src/device/protocol_impl/itoys.rs @@ -84,4 +84,22 @@ impl ProtocolHandler for IToys { .into(), ]) } + + fn handle_output_constrict_cmd(&self, _feature_index: u32, feature_id: Uuid, level: u32) -> Result, ButtplugDeviceError> { + Ok(vec![ + HardwareWriteCmd::new( + &[feature_id], + Endpoint::Tx, + vec![ + 0xa0, + 0x0d, + 0x00, + 0x00, + level as u8, + if level == 0 { 0x00 } else { 0x64 }, + ], + false, + ) + .into(), + ]) } } diff --git a/crates/buttplug_server_device_config/build-config/buttplug-device-config-v5.json b/crates/buttplug_server_device_config/build-config/buttplug-device-config-v5.json index 18329c8c0..2cd3a495a 100644 --- a/crates/buttplug_server_device_config/build-config/buttplug-device-config-v5.json +++ b/crates/buttplug_server_device_config/build-config/buttplug-device-config-v5.json @@ -1,7 +1,7 @@ { "version": { "major": 5, - "minor": 33 + "minor": 34 }, "protocols": { "activejoy": { @@ -5873,7 +5873,8 @@ "26-021-B", "SML-2310-SZ-B", "ASF-001-BT-R", - "IJVB-W10-BT-RX" + "IJVB-W10-BT-RX", + "YSSY-073-BT" ], "services": { "0000ffa0-0000-1000-8000-00805f9b34fb": { @@ -5977,6 +5978,39 @@ "IJVB-W10-BT-RX" ], "name": "Bestvibe Rotational Vibration" + }, + { + "features": [ + { + "id": "fc4214cc-3876-4d80-bc1c-9a42fbfb9f56", + "index": 0, + "output": { + "vibrate": { + "value": [ + 0, + 255 + ] + } + } + }, + { + "id": "43f5a752-fe61-4024-8eff-b2a5f9ef495a", + "index": 1, + "output": { + "constrict": { + "value": [ + 0, + 1 + ] + } + } + } + ], + "id": "4a6ae74b-9960-4bec-9ef3-45cb5c0191e0", + "identifier": [ + "YSSY-073-BT" + ], + "name": "iToys Lach" } ], "defaults": { diff --git a/crates/buttplug_server_device_config/device-config/protocols/itoys.yml b/crates/buttplug_server_device_config/device-config/protocols/itoys.yml index a9359a0ed..7d7d6b4c5 100644 --- a/crates/buttplug_server_device_config/device-config/protocols/itoys.yml +++ b/crates/buttplug_server_device_config/device-config/protocols/itoys.yml @@ -65,6 +65,25 @@ configurations: - 0 - 3 index: 1 +- identifier: + - YSSY-073-BT + name: iToys Lach + id: 4a6ae74b-9960-4bec-9ef3-45cb5c0191e0 + features: + - id: fc4214cc-3876-4d80-bc1c-9a42fbfb9f56 + output: + vibrate: + value: + - 0 + - 255 + index: 0 + - id: 43f5a752-fe61-4024-8eff-b2a5f9ef495a + output: + constrict: + value: + - 0 + - 1 + index: 1 communication: - btle: names: @@ -72,6 +91,7 @@ communication: - SML-2310-SZ-B - ASF-001-BT-R - IJVB-W10-BT-RX + - YSSY-073-BT services: 0000ffa0-0000-1000-8000-00805f9b34fb: tx: 0000ffa1-0000-1000-8000-00805f9b34fb diff --git a/crates/buttplug_server_device_config/device-config/version.yaml b/crates/buttplug_server_device_config/device-config/version.yaml index 8ff62b2b2..6963f5af7 100644 --- a/crates/buttplug_server_device_config/device-config/version.yaml +++ b/crates/buttplug_server_device_config/device-config/version.yaml @@ -1,3 +1,3 @@ version: major: 5 - minor: 33 + minor: 34 From fc63107930cb216e8c09a491627eadd3fceabac2 Mon Sep 17 00:00:00 2001 From: blackspherefollower Date: Tue, 18 Aug 2026 15:46:43 +0100 Subject: [PATCH 4/4] feat: Adding support for Adorime Panty Vibrator --- .../build-config/buttplug-device-config-v5.json | 10 +++++++++- .../device-config/protocols/galaku.yml | 5 +++++ .../device-config/version.yaml | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/crates/buttplug_server_device_config/build-config/buttplug-device-config-v5.json b/crates/buttplug_server_device_config/build-config/buttplug-device-config-v5.json index 2cd3a495a..667c8d7a9 100644 --- a/crates/buttplug_server_device_config/build-config/buttplug-device-config-v5.json +++ b/crates/buttplug_server_device_config/build-config/buttplug-device-config-v5.json @@ -1,7 +1,7 @@ { "version": { "major": 5, - "minor": 34 + "minor": 35 }, "protocols": { "activejoy": { @@ -1527,6 +1527,7 @@ "A531", "YXSJ", "K128", + "CD16", "G317", "G312", "G302", @@ -2037,6 +2038,13 @@ ], "name": "Galaku F1" }, + { + "id": "103cfcd7-e87b-4684-bba6-6662dfffa83b", + "identifier": [ + "CD16" + ], + "name": "Adorime Panty Vibrator" + }, { "features": [ { diff --git a/crates/buttplug_server_device_config/device-config/protocols/galaku.yml b/crates/buttplug_server_device_config/device-config/protocols/galaku.yml index ac3e4f288..5f8d9e5b4 100644 --- a/crates/buttplug_server_device_config/device-config/protocols/galaku.yml +++ b/crates/buttplug_server_device_config/device-config/protocols/galaku.yml @@ -284,6 +284,10 @@ configurations: - K128 name: Galaku F1 id: f81414d2-6a99-4dde-9b59-e6e77fd037df +- identifier: + - CD16 + name: Adorime Panty Vibrator + id: 103cfcd7-e87b-4684-bba6-6662dfffa83b # Type 1 - identifier: - G317 @@ -1681,6 +1685,7 @@ communication: - A531 # Adorime Pink Touch - YXSJ # Adorime Cock Ring - K128 # Galaku F1 + - CD16 # Adorime Panty Vibrator # Type 1 - G317 - G312 diff --git a/crates/buttplug_server_device_config/device-config/version.yaml b/crates/buttplug_server_device_config/device-config/version.yaml index 6963f5af7..4fb9b4bb6 100644 --- a/crates/buttplug_server_device_config/device-config/version.yaml +++ b/crates/buttplug_server_device_config/device-config/version.yaml @@ -1,3 +1,3 @@ version: major: 5 - minor: 34 + minor: 35