Jump to content
Corsair Community

Profile Conversion Tool

Recommended Posts

Hi All,


I have knocked up a very simple profile and Mode conversion tool to swap convert profiles / Modes for the K65,K70 and K95


Simply run the app browse to the file you wish to convert and hit the convert button select as destination file name once done import the profile into CUE.


If you wish to convert a mode file change the file type selection from prf to mode.


You'll need .net framework 3.5 installed for it to work.


Added the source in case anyone wants to extend it I haven't looked at this for ages. The project is C# winforms project so you will need a copy of visual studio (the free version will be fine) to work with the src.


This is a tool I knocked up for my own use, so use it at your own risk!



Converts profiles and modes from one keyboard type to another.

Removes actions that are not associated to a light profile (No more test (1) etc in the action list).

Removes lighting effects that are not associated with a profile.

Removes G and M keys when converting from a K95 to 70 or 65.




Rename Modes / Profiles prior to conversion



Fixed crash when checking for non existent registry entries.

Fixed instances where some orphan lighting elements were being left behind (thanks zheren159)

Fixed bug where lighting would be removed even though it was assigned to a valid action. (thanks Reapexx)

Fixed bug where exporting the same profile to the output directory would get overwritten rather than create a new file.



Link to comment
Share on other sites

Updated the application to purge the profiles of unwanted actions and lighting effects if checked.


Any actions or lighting effects that are not assigned to anything are removed as part of the conversion process (if selected) This reduces profile bloat and the annoyance of having all those actions etc imported when you neither want or need them for the lights you wish to look at.


If you wish you can use this process to clean up your current profiles by importing them and exporting them again as the same type.


Again use at your own risk I have had no problems thus far but YMMV :)

Link to comment
Share on other sites

Ah that explain why it runs faster. I wrote pretty much the same program in java but it runs quite a bit slower.


You should get it out there. Give a man a fish etc :)


Did you think the cue profile export was buggy too? A lot of dead and deleted keys seem to get left in the XML mode exports seem a lot neater but profiles yuck!

Link to comment
Share on other sites

You should get it out there. Give a man a fish etc :)


Did you think the cue profile export was buggy too? A lot of dead and deleted keys seem to get left in the XML mode exports seem a lot neater but profiles yuck!


Yea i already informed Corsair James of this issue. The extra lighting and actions bloat the files by so much

Link to comment
Share on other sites

Updated App

Added Option to Auto Check Remove Orphans

Changed output to directory a default directory can be specified in the options if one is not set you are asked per file. If a default directory is set all files are output to that dir prefixed with CONV_

Added K65 volumeup and volumedown keys.

Link to comment
Share on other sites

um... your broke it lol


See the end of this message for details on invoking

just-in-time (JIT) debugging instead of this dialog box.


************** Exception Text **************

System.NullReferenceException: Object reference not set to an instance of an object.

at ProfileConverter.RegistryHelper.GetAutoCleanOrphans()

at ProfileConverter.Form1.LoadOptions()

at ProfileConverter.Form1.Form1_Load(Object sender, EventArgs e)

at System.Windows.Forms.Form.OnLoad(EventArgs e)

at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)

at System.Windows.Forms.Control.CreateControl()

at System.Windows.Forms.Control.WmShowWindow(Message& m)

at System.Windows.Forms.Control.WndProc(Message& m)

at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)



************** Loaded Assemblies **************


Assembly Version:

Win32 Version: 2.0.50727.8009 (FX35W81RTMGDR.050727-8000)

CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll



Assembly Version: 1.0.5430.23517

Win32 Version: 1.0.*

CodeBase: file:///G:/Chrome%20Dowloads/Corsair%20Stuff/ProfileConverterAndCleaner.exe



Assembly Version:

Win32 Version: 2.0.50727.8008 (FX35W81RTMGDR.050727-8000)

CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/



Assembly Version:

Win32 Version: 2.0.50727.8009 (FX35W81RTMGDR.050727-8000)

CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/



Assembly Version:

Win32 Version: 2.0.50727.8007 (FX35W81RTMGDR.050727-8000)

CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/



Assembly Version:

Win32 Version: 3.5.30729.7903 built by: Win9Rel

CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Core/



************** JIT Debugging **************

To enable just-in-time (JIT) debugging, the .config file for this

application or computer (machine.config) must have the

jitDebugging value set in the system.windows.forms section.

The application must also be compiled with debugging



For example:



<system.windows.forms jitDebugging="true" />



When JIT debugging is enabled, any unhandled exception

will be sent to the JIT debugger registered on the computer

rather than be handled by this dialog box.


the new default location thing is causing this i think

Link to comment
Share on other sites

Can you attach a profile where this is occurring so I can take a look at fixing it?


This profile only has an action that triggers a ripple lighting and keystroke "G" when G is pressed, named "TestAction."


Converting it from K70 to K70 with "Clean Orphaned Lights" and "Clean Orphaned Entries" retains the action, but deletes the lighting effect "TestLighting."


Link to comment
Share on other sites

  • 4 weeks later...
  • 3 weeks later...

The profile I convert from k70 to k95 gives the following output.


Profile was successfully imported, but the following errors occurred while processing profile date.


Profile: Device: Device doesn't contain all required default Modes.



Then the profile appears to be blank and has the default modes in the profile. The lighting effects all import.

Link to comment
Share on other sites

  • 1 month later...


This topic is now archived and is closed to further replies.

  • Create New...