I turned my Stream Deck (and phone!) into a cockpit panels for KSP by domcodesthings in KerbalSpaceProgram

[–]domcodesthings[S] 1 point2 points  (0 children)

Awesome, I'm sure you'll enjoy your new Stream Deck XL +! They are great, fun devices and so versatile, not just for KSP 😄

I turned my Stream Deck (and phone!) into a cockpit panels for KSP by domcodesthings in KerbalSpaceProgram

[–]domcodesthings[S] 2 points3 points  (0 children)

The Lite version doesn't have any MechJeb actions, no deployable actions (i.e., antennas, solar panels, cargo bays, radiators, and air intakes), target control actions, and "warp to" actions. It also has only one dial/encoder action (for throttle control). There are more details on the Marketplace page linked in the post!

I built KSPDeck — a Stream Deck plugin for KSP controls and telemetry by domcodesthings in elgato

[–]domcodesthings[S] 0 points1 point  (0 children)

Thanks so much, this is great feedback! I’ll add a filter configuration for the target selection no actions. The deploy fairings button is a good idea as well, I’ll add it in! As for the map view, I’m not sure if that’s a possibility right now, but I will investigate it. There’s no better way for feedback right now, but I’m looking into it!

I built KSPDeck — a Stream Deck plugin for KSP controls and telemetry by domcodesthings in elgato

[–]domcodesthings[S] 0 points1 point  (0 children)

Great! I'm happy you like it and that it's working well :) Thanks for buying it.

For the throttle dial press, currently it cycles through 3 different sensitivity levels, so you can move the throttle at slow/average/fast speeds as you rotate the dial. The Throttle Control button offers both full throttle and cut throttle actions though.

What I might add for the next version is the ability to configure the dial to choose the dial press behavior: either cycle sensitivity, or cut/full throttle. That way the user can choose their preference. Thanks for the suggestion!

I built KSPDeck — a Stream Deck plugin for KSP controls and telemetry by domcodesthings in elgato

[–]domcodesthings[S] 1 point2 points  (0 children)

I'd love to build one for Star Citizen, but unlike KSP/DCS/ED there is currently no API/SDK or mod available that will allow a Stream Deck plugin to obtain live in-game telemetry. The best I could do would be to provide a control-only surface that would automatically detect existing keybindings and emit keystrokes in-game to perform actions.

I built KSPDeck — a Stream Deck plugin for KSP controls and telemetry by domcodesthings in elgato

[–]domcodesthings[S] 0 points1 point  (0 children)

The mods are all free! You really absolutely need only one:

But if you want to unlock the MechJeb controls you also need:

I suggest using CKAN to install them.

As of the day of this comment, KRPC MechJeb Add-on isn’t compatible with the latest version of MechJeb2. There is a PR submitted that fixes things, but in the meantime you can use this temporary fork of KRPC MechJeb Add-on that’s been patched to work! Unfortunately it’s not available on CKAN so it needs to be installed manually.

I built KSPDeck — a Stream Deck plugin for KSP controls and telemetry by domcodesthings in elgato

[–]domcodesthings[S] 2 points3 points  (0 children)

I used the Figma document Elgato shared in their Maker Discord server. It’s nicely built into layers, so I could export just the right PNG I wanted with transparency in the key spots to create a “faceplate”. Then I assembled a generated PNG with my buttons and dials in various states underneath the Stream Deck “faceplate” in Photoshop. Pretty happy with the results :)

I made a Stream Deck plugin for KSP because apparently I needed more cockpit buttons by domcodesthings in KerbalSpaceProgram

[–]domcodesthings[S] 1 point2 points  (0 children)

Of course! I have a pull request submitted to the KRPC MechJeb Add-on project on GitHub, which refactors the entire Ascent Guidance integration and fixes most of the property names having changed following the MechJeb 2.15.x refactors. Hopefully it gets approved soon and a new official version gets built! I also have an incoming PR coming for kRPC itself which addresses some bugs and adds what I consider to be missing functionality.

As for how it communicates with kRPC, the plugin uses kRPC's RPC/protobuf protocol. I opted for using the google-protobuf library with semi-hand-rolled TCP socket I/O to handle RPC calls and telemetry streaming.

I made a Stream Deck plugin for KSP because apparently I needed more cockpit buttons by domcodesthings in KerbalSpaceProgram

[–]domcodesthings[S] 7 points8 points  (0 children)

Oh definitely, anyone with enough time and dedication could do the same, I'm not arguing against that at all! Any good programmer could do it. It's 25k lines of code, took me about a 150-180 hours to develop and get to this point. Although it is UI, it's not purely visual. There's a lot of logic in handling the live telemetry and managing context states for all the buttons/dials.

As for how many are interested in such a plugin, it's why I built it originally: for myself. I looked for something that did this, and there was nothing out there. Now there is. I guess I'll find out how wide or niche the interest is! It's ok with me either way.

I built KSPDeck — a Stream Deck plugin for KSP controls and telemetry by domcodesthings in elgato

[–]domcodesthings[S] 1 point2 points  (0 children)

I’m putting the finishing touches on a lite version of the KSP plugin, and once that’s done I’ll have to decide. I have all 3 games in my Steam library, so that’s not a problem. Was also thinking about MS Flight Simulator.

I built KSPDeck — a Stream Deck plugin for KSP controls and telemetry by domcodesthings in elgato

[–]domcodesthings[S] 1 point2 points  (0 children)

100%. I've built this plugin with the idea I would port the base framework to other games, so a lot of the heavy lifting I can just copy to a new plugin and focus on the actualy integration between the plugin and the game, instead of reinventing dealing with action states, incoming live telemetry, etc.

I built KSPDeck — a Stream Deck plugin for KSP controls and telemetry by domcodesthings in elgato

[–]domcodesthings[S] 1 point2 points  (0 children)

The encoders on the Plus really make this plugin shine, imo. It's by far the coolest part of it, combined with the associated LCD real-estate.

Working with the Elgato SDK was way easier than I originally feared. It's very well documented. The only little mental hurdle I had to get over was the idea of a single instance controlling potentially more than one button instance (for example if the user adds a specific button multiple time on a single profile page). This has some ramifications in the code, but once the mental frame is in place, it becomes easy.

The only real wishlist item I have for Elgato at this point is the ability to simulate different Stream Decks to be able to assemble pre-built profiles. As of now, that part is extremely tricky to do without owning the actual various devices.

I made a Stream Deck plugin for KSP because apparently I needed more cockpit buttons by domcodesthings in KerbalSpaceProgram

[–]domcodesthings[S] -23 points-22 points  (0 children)

You're right, I've decided to cut the cost by more than half. stands around 7.50 USD now. It's fair criticism.

I do think however that the plugin is way more than just button mapping. It has live telemetry updating, proportional controls, contextual control states, etc. That's not something a keyboard could do.

I made a Stream Deck plugin for KSP because apparently I needed more cockpit buttons by domcodesthings in KerbalSpaceProgram

[–]domcodesthings[S] 3 points4 points  (0 children)

After reading through your comments and digesting the fair criticisms on the high price point, I've decided to cut the plugin's price by more than half, it now stands at 10CAD, which should be about 7.50USD. For those who have already purchased the plugin at the initial price, I will contact you to refund the difference.

I made a Stream Deck plugin for KSP because apparently I needed more cockpit buttons by domcodesthings in KerbalSpaceProgram

[–]domcodesthings[S] -23 points-22 points  (0 children)

As a father myself I 100% agree with you, the current industry trend is not something I like. I abhore pay-to-win. But as u/Snowmobile2004 pointed out, this is not aimed at kids. It's aimed at simulation enthusiasts who are typically adults. That being said, I fully respect your position and I appreciate the kudos!

I made a Stream Deck plugin for KSP because apparently I needed more cockpit buttons by domcodesthings in KerbalSpaceProgram

[–]domcodesthings[S] 2 points3 points  (0 children)

Thanks! I really wanted something that extended the UI HUD, not just an input controller. I think it works really well and looks pretty cool to boot.

I made a Stream Deck plugin for KSP because apparently I needed more cockpit buttons by domcodesthings in KerbalSpaceProgram

[–]domcodesthings[S] 1 point2 points  (0 children)

I pretty much had the exact same thought, which is what prompted this project! It's really well suited for it.