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

    • Qmmp 2.3.3 by Razvan Serea Qmmp (Qt-based MultiMedia Player) is a free, open-source audio player that delivers a classic music listening experience with a modern foundation. Inspired by the legendary Winamp, Qmmp features a familiar, customizable interface that supports both Winamp and XMMS skins, making it instantly recognizable to long-time users. It handles a wide variety of audio formats including MP3, OGG Vorbis, FLAC, WAV, AAC, and many others, ensuring smooth playback across diverse music libraries. In addition to basic playback, Qmmp offers advanced features such as a 10-band equalizer, crossfading, gapless playback, and audio visualization plugins. Users can manage playlists efficiently, create and save multiple lists, and even enable streaming from online sources. Plugin support extends the player’s capabilities, allowing integration of features like lyrics display, ReplayGain, and more. Built with the Qt framework, Qmmp runs smoothly and efficiently, making it ideal even for older systems. 10 great QMMP features you might not know: Global Hotkeys Support – Control playback using customizable system-wide keyboard shortcuts. CUE Sheet Support – Automatically detects and plays tracks from CUE files for full album playback. Last.fm Scrobbling – Integrated support for sending playback data to Last.fm. Audio CD Playback – Play music directly from audio CDs. Command Line Interface – Control Qmmp via command-line options for scripting or automation. System Tray Integration – Minimize to and control playback from the system tray. MPRIS Support – Integration with desktop media player controls via the MPRIS (Media Player Remote Interfacing Specification) interface. Spectrum Analyzer and Oscilloscope – Built-in visualizations for real-time audio feedback. Configurable Notifications – Custom pop-ups for track changes and playback status. Multiple Output Backends – Support for ALSA, PulseAudio, JACK, and more, offering flexible audio routing. Qmmp 2.3.3 changelog: fixed build with PipeWire versions less than 0.3.50; fixed settings dialog layout; fixed default CUE encoding; fixed possible null pointer dereference; fixed tracks order when added using drag and drop (2.3.3 only); fixed uninitialized structure usage; improved sid plugin: added libsidplayfp 3.0 support; added feature to build without residfp engine; fixed memory leak; fixed displaying audio information; updated Japanese translation (2.3.3 only). Download: Qmmp 64-bit | 24.0 MB (Open Source) Download: Qmmp 32-bit | 24.1 MB View: Qmmp Homepage | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • BATorrent 3.0.3 is out.
    • The current Statcoungter desktop numbers has Google Chrome increasing it's market share this past year and currently commanding 75% share. Everybody else is just making up the numbers with even MS Edge losing 3% this past year and has dipped just below 10% share which is staggering considering it's default on every Windows deviced purchased. If these numbers are correct that terrible Edge number is both devastating and embarrassing for MS especially when you add in the terribly low Bing market share. This leads me to ask a couple of questions as the default browser holding just less than 10% market share seems really weird. It used to be that all Chromium browsers were being counted as Google Chrome in some cases.  Is this still happening? Do these high Google Chrome numbers contains some Edge user numbers?
    • Yeah, all web browsers seem to have some junk in them these days. The regular Brave browser has a lot of unnecessary stuff in it, similar to Microsoft Edge, so I don't see any benefits of using Brave over Microsoft Edge if you already have Microsoft Edge fully set up with ad blockers and that. The cleanest or best free browser outside of 'Microsoft Edge' I’ve tried so far is 'Samsung Browser'. It has very little bloat and is a nice-looking web browser with an inbuilt 'Ad blocker'. I also really like the web browser called 'Floorp' that is based on Firefox. This browser can also install Chrome extensions. I have a system wide Ad blocking program for Windows 11 that doesn't just blocks ads in the web browser, but over the whole system. I don't really need a web browser with an inbuilt ad blocker because of that.
  • Recent Achievements

    • Rookie
      moog19 went up a rank
      Rookie
    • Mentor
      grik went up a rank
      Mentor
    • Dedicated
      JKR earned a badge
      Dedicated
    • One Year In
      CHUNWEI earned a badge
      One Year In
    • Conversation Starter
      FBSPL earned a badge
      Conversation Starter
  • Popular Contributors

    1. 1
      +primortal
      491
    2. 2
      PsYcHoKiLLa
      270
    3. 3
      Skyfrog
      75
    4. 4
      Steven P.
      68
    5. 5
      FloatingFatMan
      63
  • Tell a friend

    Love Neowin? Tell a friend!