ckb-next / ckb-next

RGB Driver for Linux
GNU General Public License v2.0
3.24k stars 268 forks source link

Transferring configuration (lighting effects, bindings etc.) to another device #979

Open WildPenquin opened 1 year ago

WildPenquin commented 1 year ago

Enhancement Details

I'd like to transfer (at least partially) lighting effects to another keyboard (in app configuration only). Another nice feature would be to be able to transfer key bindings, but I don't need it at the moment, as I only have a few. But someone who would have a plethora of bindings, but needs to change their keyboard, this would be a nice feature. This would alleviate the re-creation of the effects and bindings when one needs to change their keyboard.

I realize transferring effects might not be trivial in case the keyboard layout and/or HW capabilities differ too much. But in some cases it could be easy (from the HW point of view). For my use case, I'd like to transfer my cool effects from a Corsair Corsair K95 Platinum RGB to an XT one (short story: water damage and I found the XT for cheap...). These are very similar to each other, so in principle such transfer should be achievable.

Perhaps ckb could copy all effects key-by-key and drop non-existing keys and effects not possible on the target device? And copy bindings in a similar manner?

This might not be worth the effort if it gets hairy, but perhaps as an experimental feature...

As a sidenote, is there documentation for the config file? After a quick glance, a somewhat simple search-and-replace (and a bit of editing / deleting superfluous data) could achieve what I want. But after a quick glance I'm not quite sure how the configuration file works.

Additional Details

Add any additional details here.

WildPenquin commented 1 year ago

I've just noticed this feature already exists, but requires the old keyboard to be plugged in. If that is the case, then one can use "Manage profiles" to do what I suggest. However, this does not work if the keyboard, from which profiles are to be exported from, is not available anymore (say, broken).

To cater for this corner case, perhaps an option to "show disconnected devices" could be implemented. There is another benefit of not getting cruft in the config file, as this option could also cater for cleaning up the date of the missing keyboard from the config file.

Feel free to close, or keep open in case this brings up any ideas.

p.s. Luckily, my old K95 RGB plat is still recognized as an USB device (it just doesn't work), so I was able to export the profiles.