Recommended Posts

I have the G15 with 18 G Keys and Fold-able LCD Screen. I'll check it out on mine when I get home.

 

In theory, you're correct, but if this is written with the .Net Framework... Haha, we all know Windows can be sketchy some times.

 

Well I'm not using Keys.MediaPlayPause/Keys.MediaNextTrack etc. Because those only work when the application has focus. I've implemented a low level keyboard hook that listen to keypresses even when the application as no focus. However it seems it doesn't catch pressing media keys on all keyboards. Unbelievable there is still no standard to do such thing :)

 

EDIT: hah! I think I found some useful info on the web. There exist other keycodes I didn't kjnow of. I'll update my KeyboardTest app tonight.

To everyone with non-working media keys, could you download KeyBoardTest2.exe here https://www.dropbox.com/sh/ad3r5xsi15nubku/AADmBgbyz4aJiMGH2YUDwkmBa?dl=0

 

Could you launch it and press, in this order, on these media keys and post a screenshot of the result in the app (if it reacted to the keypressed at least):

 

1. Mediakey Play

2. Mediakey Pause

3. Mediakey Previous

4. Mediakey Next

5. Mediakey Stop

6. Mediakey Volume Up

7. Mediakey Volume Down

 

Thanks!

Is it portable?

 

Yes! There is a portable version.

I've got to say, now that I'm back on Windows this has got to be one of my favourite applications. It just looks so clean and works perfectly for me! Incredible work, Rapha

360 Total Security quarantined KeyboardTest5.exe and wont let me run it, even though I have restored it, and white-listed it. :rolleyes:

 

post-18738-0-96443200-1432669659.png

 

https://www.virustotal.com and http://virusscan.jotti.org both gave it a 100% clean bill of health

 

On the plus side, the media keys on my K300 work fine with Dopamine, in and out of focus :)

360 Total Security quarantined KeyboardTest5.exe and wont let me run it, even though I have restored it, and white-listed it. :rolleyes:

 

attachicon.gif2015-05-26_20-25-36.png

 

https://www.virustotal.com and http://virusscan.jotti.org both gave it a 100% clean bill of health

 

On the plus side, the media keys on my K300 work fine with Dopamine, in and out of focus :)

 

360 is getting on my nerves :rofl: It flags all my software as viruses. I've put the source code of the KeyboardTest app in the same directory as KeyBoardTest5.exe. As proof that 360 is crazy :)

I didn't have time yet to look into signing or strong naming my applications, which, I hope, would solve getting false positives in some anti-viruses.

 

AS for the keys not working for some keyboards. I'm starting to suspect that the keyboard software might do something non-standard or that it is not possible to listen to those keyboar messages from a .NET application. I'm still not 100% sure.

nCode='0', wParam='&H100', vkCode='179'
nCode='0', wParam='&H101', vkCode='179'
nCode='0', wParam='&H100', vkCode='178'
nCode='0', wParam='&H101', vkCode='178'
nCode='0', wParam='&H100', vkCode='174'
nCode='0', wParam='&H101', vkCode='174'
nCode='0', wParam='&H100', vkCode='174'
nCode='0', wParam='&H101', vkCode='174'
nCode='0', wParam='&H100', vkCode='176'
nCode='0', wParam='&H101', vkCode='176'
nCode='0', wParam='&H100', vkCode='177'
nCode='0', wParam='&H101', vkCode='177'
nCode='0', wParam='&H100', vkCode='173'
nCode='0', wParam='&H101', vkCode='173'
nCode='0', wParam='&H100', vkCode='162'
nCode='0', wParam='&H100', vkCode='67'

Here are my G15 Keys. I pressed every key. When I get my new Orion keyboard here in a few weeks, I'll test it for you too.

 

Edit:

Last 2 keys, are Copy & Paste. Haha.

I have found the problem with the Logitech keyboards.  It is the Logitech SetPoint drivers causing the issue.  Their drivers do something special with the media keys.  I have fixed the issue by doing 2 different things.  I will explain them below.

 

1.  Uninstall the SetPoint drivers.  This will fix the issue and the media keys will then work in Dopamine.

 

2.  If you don't want to uninstall the drivers, you can change the configuration for your particular keyboard so that SetPoint does not intercept these keys.  For my K800 I modified the c:\programdata\Logishrd\SetPointP\Devices\Keyboard\2000074\2000074.xml file.  I removed the following sections from this file:

 

        <!-- Button Name => f10 Previous Track -->

        <Button Number="786614" Name="Previous Track">

          <Trigger Class="ButtonPress">

            <PARAM Button="786614" LongPressTime="300" />

            <TriggerState Name="ButtonDownUp"        HandlerSet="MM PREVIOUS"  HandlerSetGroup="Keyboard"  />

            <TriggerState Name="ButtonLongPress"    HandlerSet="MM REWIND" />

          </Trigger>

        </Button>

        <!-- Button Name => fn F11 Play -->

                <Button Number="786637" Name="F11">

                    <Trigger Class="ButtonPress">

                        <PARAM Button="786637" />

                        <TriggerState Name="ButtonDownUp" HandlerSet="MM PLAY"  HandlerSetGroup="F12KeysGroup"  />

                    </Trigger>

                </Button>

                <!-- Button Name => F12 Next Track  -->

                <Button Number="786613" Name="Next Track">

                    <Trigger Class="ButtonPress">

            <PARAM Button="786613" LongPressTime="300" />

            <TriggerState Name="ButtonDownUp"        HandlerSet="MM NEXT"  HandlerSetGroup="Keyboard"  />

            <TriggerState Name="ButtonLongPress"    HandlerSet="MM FASTFORWARD" />

          </Trigger>

                </Button>

 

I removed the button configurations for the media keys, restarted SetPoint, and the media keys then worked in Dopamine with SetPoint installed.  You will need to find the XML file for your specific device by searching the folders.  The display name that is shown in SetPoint for the keyboard is at the top of the XML file and that is what I searched on to find the XML file for my keyboard. Once the configuration for the media buttons is removed for your device, the keys should start working in Dopamine.

 

Raphael...I'm not sure if there is anything you can do about this code wise.  This looks to be an issue when running the Logitech SetPoint drivers with a Logitech keyboard.  It looks like one of the two methods above will have to be used when using a Logitech keyboard to get the media keys to work in Dopamine.

 

You rule! Thanks for the info! :) I was starting to suspect such thing. I've read about the SetPoint software in another forum but wasn't sure this was causing the media key issue.

nCode='0', wParam='&H100', vkCode='179'
nCode='0', wParam='&H101', vkCode='179'
nCode='0', wParam='&H100', vkCode='178'
nCode='0', wParam='&H101', vkCode='178'
nCode='0', wParam='&H100', vkCode='174'
nCode='0', wParam='&H101', vkCode='174'
nCode='0', wParam='&H100', vkCode='174'
nCode='0', wParam='&H101', vkCode='174'
nCode='0', wParam='&H100', vkCode='176'
nCode='0', wParam='&H101', vkCode='176'
nCode='0', wParam='&H100', vkCode='177'
nCode='0', wParam='&H101', vkCode='177'
nCode='0', wParam='&H100', vkCode='173'
nCode='0', wParam='&H101', vkCode='173'
nCode='0', wParam='&H100', vkCode='162'
nCode='0', wParam='&H100', vkCode='67'

Here are my G15 Keys. I pressed every key. When I get my new Orion keyboard here in a few weeks, I'll test it for you too.

 

Edit:

Last 2 keys, are Copy & Paste. Haha.

 

Thanks! I'll compare this to the current code.

Well it is essentially a keylogger (although not malicious), so I guess it's good that 360 picks it up  :)

 

You have a point. I wonder if that is the reason why Dopamine is also being picked up by some anti-viruses. The same code comes back in Dopamine.

I have found the problem with the Logitech keyboards.  It is the Logitech SetPoint drivers causing the issue.  Their drivers do something special with the media keys.  I have fixed the issue by doing 2 different things.  I will explain them below.

 

1.  Uninstall the SetPoint drivers.  This will fix the issue and the media keys will then work in Dopamine.

 

2.  If you don't want to uninstall the drivers, you can change the configuration for your particular keyboard so that SetPoint does not intercept these keys.  For my K800 I modified the c:\programdata\Logishrd\SetPointP\Devices\Keyboard\2000074\2000074.xml file.  I removed the following sections from this file:

 

<snip>

 

I removed the button configurations for the media keys, restarted SetPoint, and the media keys then worked in Dopamine with SetPoint installed.  You will need to find the XML file for your specific device by searching the folders.  The display name that is shown in SetPoint for the keyboard is at the top of the XML file and that is what I searched on to find the XML file for my keyboard. Once the configuration for the media buttons is removed for your device, the keys should start working in Dopamine.

 

Raphael...I'm not sure if there is anything you can do about this code wise.  This looks to be an issue when running the Logitech SetPoint drivers with a Logitech keyboard.  It looks like one of the two methods above will have to be used when using a Logitech keyboard to get the media keys to work in Dopamine.

 

Interesting. Setpoint must be doing something specific on it's own for VLC and other media apps then?

Isn't there a standard key name for those keys? Like we have Generic Drivers, are there generic settings?

It's strange that WMP, VLC and Foobar2000 can use the keyhooks and not get flagged.

Does the software install any files to the registration? Maybe they use a generic windows library that's known to the AV programs? Who knows. It's interesting to see!

This is for my A4Tech (Chinese) keyboard, it caused two events for each press.

 

Play and Pause are same button:

nCode='0', wParam='&H100', vkCode='179'
nCode='0', wParam='&H101', vkCode='179'
nCode='0', wParam='&H100', vkCode='179'
nCode='0', wParam='&H101', vkCode='179'
nCode='0', wParam='&H100', vkCode='177'
nCode='0', wParam='&H101', vkCode='177'
nCode='0', wParam='&H100', vkCode='176'
nCode='0', wParam='&H101', vkCode='176'
nCode='0', wParam='&H100', vkCode='178'
nCode='0', wParam='&H101', vkCode='178'
nCode='0', wParam='&H100', vkCode='175'
nCode='0', wParam='&H101', vkCode='175'
nCode='0', wParam='&H100', vkCode='174'
nCode='0', wParam='&H101', vkCode='174'

I think that I might have stumbled on part of the solution. I was looking around the setpoint config files and found this:

#List of supported players
#{btn|key|msg|emg|cmd|wac},exeName,wndClass,wndCaption,xxx,play_delayplay,pause,stop,prev,next,remove_flags,ShowOSD,menu_item
#special char --> ^ ctrl;+ shift+ctrl; $ ctrl (no translation); * alt (no translation); @ ctrl+alt (no tanslation); & (no translation) 
at: C:\Program Files\Logitech\SetPointP\players.ini
 
Maybe you could somehow add in dopamine to the list?-

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Posts

    • Happens to the best of us, bro. 😛 
    • Thanks to some of the other recent Windows improvements, I'm optimistic about this one. My quick wishlist would be: perf like the older menu, merge both menus or at the very least, the older menu should be a flyout, not a simulated click to the old menu, and lastly, a customization window to let users move items from one menu to another, so I could bring Send To back to the main menu, and the OneDrive settings to the older.
    • This Gigabyte AMD RX 9070 XT is very good deal despite the launch of 9070 GRE by Sayan Sen Recently we reviewed AMD's latest 1440p gaming card, the Radeon RX 9070 GRE 12GB, for $549. The card is in stock too at that price, though if you want significantly better performance and don't mind spending a bit more, the Gigabyte Gaming model of RX 9070 XT is currently on sale for just $650 (purchase link under the specs table down below). The card employs Gigabyte's WINDFORCE cooling system which combines multiple design elements such as alternate-spinning Hawk fans, a vapor chamber, and composite heat pipes to manage heat dissipation. The Server-grade Thermal conductive gel further helps in this department. The inclusion of a semi-passive cooling mode allows the fans to remain inactive under low workloads, which allows for reduced noise operation during lighter usage. There is dual BIOS switch that allows toggling between performance and silent modes. The technical specifications of the Gigabyte Radeon RX 9070 XT GAMING OC 16G are given in the table below: Specification Value Core Clock Boost Clock: up to 3060 MHz Game Clock: up to 2520 MHz Stream Processors 4096 Memory Clock 20 Gbps Memory Size 16GB Memory Type GDDR6 Memory Bus 256-bit Card Bus Interface PCI Express 5.0 Maximum Resolution 7680 × 4320 Multi-View Support 4 displays Card Dimensions L=288 mm, W=132 mm, H=56 mm Recommended Power Supply 750W Power Connectors 3 × 8-pin Video Outputs 2 × DisplayPort 2.1a 2 × HDMI 2.1b Get it at the link below: GIGABYTE Radeon RX 9070 XT Gaming OC 16GB Graphics Card, GV-R9070XTGAMING OC: $649.99 (Sold and Shipped by Amazon US) (Was: $740) This Amazon deal is US-specific and not available in other regions unless specified. This is a first-party seller link (at the time of article publishing); ensure that you also purchase from a first-party seller link only. If you don't like it or want to look at more options, check out the previous deals that we have covered, OR you can also visit Amazon US deals page. Get Prime (SNAP), Prime Video, Audible Plus or Kindle / Music Unlimited. Free for 30 days. As an Amazon Associate, we earn from qualifying purchases.
    • Why does this kind of tactic not surprise me?
    • They used AI based TOOLS to convert the JavaScript engine (the main rendering engine is still C++) and it was not fully automated but was human reviewed. Other subsystems will be looked into to also be converted to Rust in the future. I have no problem with any of that.
  • Recent Achievements

    • One Year In
      CHUNWEI earned a badge
      One Year In
    • Conversation Starter
      FBSPL earned a badge
      Conversation Starter
    • Week One Done
      I2D earned a badge
      Week One Done
    • Week One Done
      Dr Jared Dental Studio earned a badge
      Week One Done
    • Week One Done
      RG INVESTMENT GROUP earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      463
    2. 2
      PsYcHoKiLLa
      252
    3. 3
      Skyfrog
      80
    4. 4
      FloatingFatMan
      63
    5. 5
      Michael Scrip
      62
  • Tell a friend

    Love Neowin? Tell a friend!