Jump to content
Corsair Community

[Software] IdleKey - Dim / Edit the lighting of your Keyboard when it's not in use!


Recommended Posts

  • Replies 87
  • Created
  • Last Reply

Top Posters In This Topic

  • 3 weeks later...

The original IdleKeys author started with some sample code to deal with the global hooks. Since I'm a .NET developer myself, I decided to take a peek and discovered where the exception was being thrown, and found an updated way of accomplishing the goal.

I've attached a new build of just Gma.UserActivityMonitor.dll. Just drop that file into your IdleKeys folder (with IdleKeys not running, of course), and it should magically work for you.

 

Note that I compiled against .NET 3.5.1. So you'll need that, or later, installed, which I'm pretty sure everybody will.

 

If a forum moderator wants to repackage the original Zip with this new DLL, feel free. Or I can. I just don't want to take credit (or blame!) for the original application. :-)

 

Brad.

Gma.UserActivityMonitor_Fixed.zip

  • Confused 3
Link to comment
Share on other sites

I love your approach very professional. I will definitely test once home, but I had figured it was a .DLL related issue.

 

The original IdleKeys author started with some sample code to deal with the global hooks. Since I'm a .NET developer myself, I decided to take a peek and discovered where the exception was being thrown, and found an updated way of accomplishing the goal.

I've attached a new build of just Gma.UserActivityMonitor.dll. Just drop that file into your IdleKeys folder (with IdleKeys not running, of course), and it should magically work for you.

 

Note that I compiled against .NET 3.5.1. So you'll need that, or later, installed, which I'm pretty sure everybody will.

 

If a forum moderator wants to repackage the original Zip with this new DLL, feel free. Or I can. I just don't want to take credit (or blame!) for the original application. :-)

 

Brad.

Link to comment
Share on other sites

  • 2 weeks later...
First I have to say, thank you for this programm. Since I have the K95 I wanted to let it staret a specific Profile when the monitor goes blank.

Second I have a problem, when I start my PC the idle Profile is active but it doesn't change when I use my mouse. I have to change the profile to automatic mode by myself.

 

The download link for the actual Zip is at the very bottom of the original post. The links midway are to the VirusTotal reports on the Zip, to "prove" it's not infected (not that I would trust anything other than my own local virus checks).

 

Brad.

Link to comment
Share on other sites

The download link for the actual Zip is at the very bottom of the original post. The links midway are to the VirusTotal reports on the Zip, to "prove" it's not infected (not that I would trust anything other than my own local virus checks).

 

Brad.

 

Thanks, guess I just didn't scroll down enough. Had me all kinds of confused.

Link to comment
Share on other sites

  • 2 weeks later...

attachment.php?attachmentid=24107&stc=1&d=1454018453

 

 

See the end of this message for details on invoking

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

 

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

System.ComponentModel.Win32Exception (0x80004005): The specified module could not be found

at Gma.UserActivityMonitor.HookManager.EnsureSubscribedToGlobalKeyboardEvents()

at IdleKey.frmMain.Form1_Load(Object sender, EventArgs e)

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

at System.Windows.Forms.Form.OnCreateControl()

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.Form.WmShowWindow(Message& m)

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

 

 

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

mscorlib

Assembly Version: 4.0.0.0

Win32 Version: 4.6.1038.0 built by: NETFXREL2

CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll

----------------------------------------

IdleKey

Assembly Version: 1.0.0.0

Win32 Version: 1.0.0.0

CodeBase: file:///E:/Mobo/Idle%20Key/IdleKey.exe

----------------------------------------

System.Windows.Forms

Assembly Version: 4.0.0.0

Win32 Version: 4.6.1038.0 built by: NETFXREL2

CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

----------------------------------------

System

Assembly Version: 4.0.0.0

Win32 Version: 4.6.1038.0 built by: NETFXREL2

CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

----------------------------------------

System.Drawing

Assembly Version: 4.0.0.0

Win32 Version: 4.6.1038.0 built by: NETFXREL2

CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

----------------------------------------

System.Configuration

Assembly Version: 4.0.0.0

Win32 Version: 4.6.1038.0 built by: NETFXREL2

CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

----------------------------------------

System.Core

Assembly Version: 4.0.0.0

Win32 Version: 4.6.1038.0 built by: NETFXREL2

CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll

----------------------------------------

System.Xml

Assembly Version: 4.0.0.0

Win32 Version: 4.6.1038.0 built by: NETFXREL2

CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

----------------------------------------

Gma.UserActivityMonitor

Assembly Version: 1.0.0.0

Win32 Version: 1.0.0.0

CodeBase: file:///E:/Mobo/Idle%20Key/Gma.UserActivityMonitor.DLL

----------------------------------------

 

************** 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

enabled.

 

For example:

 

<configuration>

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

</configuration>

 

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.

Untitled.png.79010afe10463a76049519fcd479f81b.png

config.zip

Link to comment
Share on other sites

Did you take the original Zip, and then replace the HookHandler DLL with my replacement posted earlier in this forum thrad? Should just be a drop-in replacement.

 

Brad.

 

Used your HookHandler DLL replacement. I set the profile link in cue and the timer in IdleKey to 1 minute, saved and enabled it. but when the minute passes the profiles switches for a split second and goes back to the default profile.

Any ideas whats wrong?

 

Edit:

It does switches on, but after about 3 minutes (Even if its set to 1).

another problem is when the windows screensaver kicks in, the profile goes back to default.

Edited by VCVC
Link to comment
Share on other sites

I've purchase the STRAFE RGB today...

this was the first thing in mind that i was looking for.

can't believe Corsair didn't include this feature built-in CUE.

thanks alot for this.

 

Edit: please help.

I'm noticing some strange behavior on my system (windows 10 pro 64bit) since installing idleKey:

when gaming ( with gamepad) or watching a movie - in full screen mode - when idlekey kicks in it attract windows focus

and by doing so the game or media player exit full screen mode - taskbar is shown - very annoying.

 

any suggestion how to prevent idlekey from grabbing focus ?

 

thanks.

Edited by nafroman
need help
  • Confused 1
Link to comment
Share on other sites

Edit:

It does switches on, but after about 3 minutes (Even if its set to 1).

another problem is when the windows screensaver kicks in, the profile goes back to default.

 

Have exactly the same issue. I have played around with the timers on both the app and screesaver with no luck. Essentially, once the screensaver kicks in the keyboard returns to default and stays there.

 

Love the app btw and the fix so thx.

Link to comment
Share on other sites

  • 2 weeks later...

The auto update is not working as it download a corrupt 1 kb zip file only! And when I launch idlekey I get a .NET framework error "unhandled exception has occured.....etc" The details are pasted below, if it helps.

"See the end of this message for details on invoking

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

 

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

System.ComponentModel.Win32Exception (0x80004005): The specified module could not be found

at Gma.UserActivityMonitor.HookManager.EnsureSubscribedToGlobalKeyboardEvents()

at IdleKey.frmMain.Form1_Load(Object sender, EventArgs e)

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

at System.Windows.Forms.Form.OnCreateControl()

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.Form.WmShowWindow(Message& m)

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

 

 

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

mscorlib

Assembly Version: 4.0.0.0

Win32 Version: 4.6.1063.1 built by: NETFXREL3STAGE

CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll

----------------------------------------

IdleKey

Assembly Version: 1.0.0.0

Win32 Version: 1.0.0.0

CodeBase: file:///G:/Software/Drivers/Corsair%20K70/IdleKeyv1.2/IdleKey.exe

----------------------------------------

System.Windows.Forms

Assembly Version: 4.0.0.0

Win32 Version: 4.6.1038.0 built by: NETFXREL2

CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

----------------------------------------

System

Assembly Version: 4.0.0.0

Win32 Version: 4.6.1038.0 built by: NETFXREL2

CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

----------------------------------------

System.Drawing

Assembly Version: 4.0.0.0

Win32 Version: 4.6.1038.0 built by: NETFXREL2

CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

----------------------------------------

System.Configuration

Assembly Version: 4.0.0.0

Win32 Version: 4.6.1038.0 built by: NETFXREL2

CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

----------------------------------------

System.Core

Assembly Version: 4.0.0.0

Win32 Version: 4.6.1038.0 built by: NETFXREL2

CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll

----------------------------------------

System.Xml

Assembly Version: 4.0.0.0

Win32 Version: 4.6.1038.0 built by: NETFXREL2

CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

----------------------------------------

Gma.UserActivityMonitor

Assembly Version: 1.0.0.0

Win32 Version: 1.0.0.0

CodeBase: file:///G:/Software/Drivers/Corsair%20K70/IdleKeyv1.2/Gma.UserActivityMonitor.DLL

----------------------------------------

 

************** 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

enabled.

 

For example:

 

<configuration>

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

</configuration>

 

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."

Link to comment
Share on other sites

  • 4 months later...

Hey everyone,

 

thank you so much for your persistent interest in my small litte tool - I am kinda surprised that there is still no official support for this feature.

 

Originally, I intended this project to be a temporary thing until the official implementation is there - seeing that more than 1 1/2 years later, people still use it was a bit odd and not planned ;)

 

It being just a temporary app, I didn't think I would need to maintain anything, hence the inactivity.

 

Oh, and thanks to bpsmicro for the fix :)

 

 

I want to quickly address all questions.

 

"Can you make it open source?"

I'd love to, but the project, in it's temporary nature, was unfortunately not backed up by me - and the code went down the drain on one of my numerous system cleanups... sorry :c

 

"I am having problems on Windows 10"

Please use bpsmicro's fix for now

 

"Why is it contacting 5.196.26.58?"

That was the ip of my old server, where a file with version info was laying around - for auto updating. Not that I provided any updates to update to...

 

"I'm having problems with the function of the program"

Unfortunately, I cannot fix them without the original project file :/

 

"The window for switching to idle takes focus when opening"

Unfortunately, CUE checks which window has focus and adjusts the current profile based on that, so I need to have the window focused in order for the tool to work. You could try configuring CUE to switch to your idle profile when your DVD player has focus. Just disable IdleKey for the time your are watching you movie.

 

 

Seeing that there is still interest in this tool and the current version is far from perfect, I suggest we build the whole project again from ground up, but this time in a pseudo-professional and sustainable manner:

-Open source with public github repository

-(more or less) frequent updates in case changes were made

-Structured and fully commented code for other developers to join / edit later on

-(Rudimentary) Bug tracker (on github or this form) so we can fix problems and add wanted features

-Other suggestions welcome

 

I'll start the work in the next couple of days. Github repo will be available shortly. All other developers are more than welcome to join in.

 

Thanks again

 

Greetings,

nyjan

Link to comment
Share on other sites

  • 1 month later...

Hi nyjan,

 

Thanks so much for IdleKeys!! As you are thinking about starting the work from ground up, I think we can use the CUE SDK, as it will eliminate a lot of issues with the current version (taking the focus when activating, manually setting an IdleKeys profile, etc.)

 

I am looking into the CUE SDK and from my initial understanding, selecting all the keys and turning them off (or black) at a selected interval and switching back to previous state when key press should be pretty trivial. Please let me know if I can help in any ways. I have almost no experience with C#/.net but maybe we can figure something out to work together.

 

Thanks again.

Link to comment
Share on other sites

Hi again, working with CUE SDK is a breeze. Just requesting (getting) the ExclusiveLightingControl and Releasing does the job of turning all the lights off/on (As I am no setting any lights on after getting the controls). But I need some help with Windows hooks for kb/mouse activity detection. Maybe someone can help me in this regard? Also I am using python right now for testing.

 

Thanks.

Link to comment
Share on other sites

  • 2 weeks later...
  • 4 weeks later...

i can't find any instructions how to set it up to work... pls help me out :D

 

I can start idle key and set a timer of 1 minute, activated CUE's automatic profile switch but it doesnt do anything!

 

i made already a dark idle profile which this programm should switch to, when im away for like 10 minutes. But i have no idea how to bind it to

idle key!

 

best regards

Syntox

Edited by Synt0xx
Link to comment
Share on other sites


×
×
  • Create New...