#21 Plugin for CyberLink remote controller

open
nobody
None
5
2014-01-14
2013-12-29
Jan Dubiec
No

Hi all,

in the attachment there is my quick and dirty hack for CyberLink remote controller. The project was successfully built using MS Visual C++ Express 2010 and Windows DDK (it is required for winusb.h and winusb.lib). Before using the plugin driver for CyberLink remote must be installed. It can be found in the directory "driver". The driver is extracted from EventGhost and consists of three Microsoft's redistributable DLLs, an installer (dpinst.exe) and inf file provided by people from EventGhost project.

I tested the plugin with the latest WinLIRC under WinXP SP3 and everything seems to be fine.

Best regards,
Jan

1 Attachments

Discussion

1 2 > >> (Page 1 of 2)
  • Ian
    Ian
    2013-12-30

    I had a quick look at the code, and it seems fine, also compiles under vs2010 here for me so that's a bonus. I assume the cyberlink remote installs itself as a standard hid device ? So the user must uninstall the normal driver and install the custom one ?

    Lastly, does this remote work with just the bundled one, or does it work with others too ?

     
    • Jan Dubiec
      Jan Dubiec
      2013-12-30

      I assume the cyberlink remote installs itself as a standard hid device ?

      Yes, just as shown on DevMgr1.png. Unfortunately, not all buttons work then - e.g. those on the grey background do not work (tested with DVBViewer Pro and Windows Media Player). BTW. I have heard some rumors that this remote is "MCE compatible".

      So the user must uninstall the normal driver and install the custom one ?

      There is no need to uninstall original Windows' driver. User should just install custom driver and everything should be OK, just like it is shown on DevMgr2.png.

      Lastly, does this remote work with just the bundled one, or does it work with others too ?

      Do you mean standard Windows' drivers? The remote works with them partially, just as I wrote earlier.

      Jan

       
      Attachments
  • Ian
    Ian
    2013-12-31

    Okay, I added the code to sourceforge. If you could check it out and make sure it compiles/works okay that would be great. I've also added you as a developer to the winlirc project, so you are free to make and submit changes.

    The drivers, will they work on x64 ? Not sure if windows will kick up a fuss about non signed drivers.

     
    • Jan Dubiec
      Jan Dubiec
      2013-12-31

      Okay, I added the code to sourceforge. If you could check it out and make sure it compiles/works okay that would be great.

      The plugin compiles and works as expected. However I suggest using /MT instead of /MD (Properties->C/C++->Code Generation->Runtime Library) - resulting DLL is then bigger but does not depend on Visual C++ runtime DLLs (MSVCP100.DLL and MSVCP100.DLL in my case).

      The drivers, will they work on x64 ?

      I am pretty sure that they will not. AFAIR there is different set of DLLs for 64-bit systems.

      Not sure if windows will kick up a fuss about non signed drivers.

      At least XP SP3 says nothing. Perhaps because the actual "driver" is specially prepared inf file, the binaries (DLLs) are from Microsoft.

       
      • Ian
        Ian
        2013-12-31

        I statically compile the dlls because some were built with different compilers. The space is not such an issue, since the whole thing is only a few meg anyway.

        Could you send me the needed files for 64bit drivers? And also add a readme file :) Then we can release this thing

         
        • Jan Dubiec
          Jan Dubiec
          2013-12-31

          I statically compile the dlls because some were built with different compilers.

          For me it seems that you are linking Visual C++ runtime libraries dynamically (/MD)...

          Could you send me the needed files for 64bit drivers?

          OK, in the attachment. They are extracted from http://eventghost.org/downloads/EventGhost_WinUSB_Add-on.zip . The inf file is generated by EventGhost dynamically so you will have to create it manually, perhaps using my file for 32-bit systems as an template.

          Then we can release this thing

          Yes, we can. However there is an issue (not so big IMO) - auto repeat does not work which means that the Volume Up/Down buttons have to be pressed several times instead of simple press&hold.

          OK, it's time to drink some vodka. :-) Happy New Year! :-)

           
          Attachments
          • Ian
            Ian
            2014-01-01

            Please build and test the latest code I wrote. I think you may need to record a new config file. Hopefully this one should map the gaps between key presses.

             
            • Jan Dubiec
              Jan Dubiec
              2014-01-02

              I have compiled the latest code and built new configuration file but repeats still do not work.

               
  • Ian
    Ian
    2013-12-31

    I should add, I copied the files from the winddk. The 32bit lib is for winxp, and the 64bit one is for Windows Vista (there isn't a 64bit one for xp 64). SO should be forward compatable with win7/8 etc.

    I haven't (officially) released a 64bit version of winlirc yet, but most of it code/plugins build and work fine in 64bit.

     
  • Ian
    Ian
    2013-12-31

    The repeats don't work because you aren't correctly mapping the gap between the key presses
    Look at the other plugins for examples of how to do this.
    Search for
    struct mytimeval start,end,last;

    and you'll see what i mean :) You are added to sourceforge so hopefully you can fix it :)

     
1 2 > >> (Page 1 of 2)