I'm pretty close to being finished with my DMcLgLCD Logitech Keyboard wrapper. I've got the callback routines for the keyboard buttons working now. I originally just passed a function address along directly to Logitech's DLL, but it tended to crash if someone clicked the buttons too fast. I read up on threading and I now have a thread that can buffer the input a little so the Logitech callbacks aren't held up waiting. It works a lot better, but it still crashes if you really hammer the buttons and your callback takes too long to address them :). I'm going to leave it like that for now and write a warning in the documentation and samples. If I keep the routines simple, it doesn't get hung up.
At this point, I've pretty much finished all of the functionality and I just need to refine the functions a little. Currently, I have functions that pretty much mirror the original Logitech functions. I'll keep those intact, but also write some simpler functions that work for what 99% of people will want to use it for.
I've currently got a small skeleton app written, but I need to split it up into two or three different examples. Maybe an "easy" example using the new simplified functions and a more advanced example that uses the full wrapper. I'll also need something to show how to handle color VS black and white. After that, I'll try doing a quick C# example and if I can get that to work, a VB.NET example as well.
At this point, I've pretty much finished all of the functionality and I just need to refine the functions a little. Currently, I have functions that pretty much mirror the original Logitech functions. I'll keep those intact, but also write some simpler functions that work for what 99% of people will want to use it for.
I've currently got a small skeleton app written, but I need to split it up into two or three different examples. Maybe an "easy" example using the new simplified functions and a more advanced example that uses the full wrapper. I'll also need something to show how to handle color VS black and white. After that, I'll try doing a quick C# example and if I can get that to work, a VB.NET example as well.