Media keys (pause , play , forward , inc and dec volume) keys , aren't working for me

My Primary is XP , i use 2 XP secondaries and a vista secondary..

I don't see any options to disable/ enable media keys , i was taking it for granted they would work..

Since they do work with synergy i was kind of taking that fact for granted..

Does anyone have any sugestions?

Or are there plans to implement this..?


Thank you for replying.
3,760 views 5 replies
Reply #1 Top
I've checked what the problem could be..

On the primary i am running Ethereal , to check packets between Primary and secondary..

I noticed that byte 10 in some of the packet contains the character in Scan code if byte 14 is equal to 00 or 02 () 00 for keydown , and 02 for keyup .
I also noticed that the media related buttons generate virtual-key codes if byte 14 is 01 or 03 , again , 01 for keydown and 03 for key up..

So far so good , the server instance of multiplicity is apparently sending the relevant information to the client instance..


But , once there , when those keys end up in the Kb queue , they end up mapped as FF virtual-key strokes (all of them)...
(i did this by making a very small program that calls GetKeyboardState() every 1/10 of a second and displays all 256 values on screen... , i ran it on primary and secondary to see the difference )

So , somewhere in the client instance , when getting a 01 or 03 on byte 14 from the packets ,
Could the programmer in question try using a SendInput with a keyboardinput structure using wVk , instead of wScan values.. that would probably fix it ..


I'll also try and make a fix for myself , maybe with some kind of helper app that plays port proxy , or maybe some little client-server thing that runs parallel to multiplicity ..
When i have something , I'll make it available here (don't hold your breath ppl , lol)

It would be really cool if this could be fixed tho.. for VK_MEDIA_PLAY_PAUSE for example the server side app sends a nice code B3 , but the client side does something strange with it when it gets it .. Sigh...

Oh well , I'm sure the guys at multiplicity are all hard workers , and it will get fixed eventually..
I can also see that this little tool is probably not their primary concern compared to games etc..

Kind regards.
Tournicoti
Reply #2 Top
For people that want to repeat this experiment:

I've added the program that reads the keyboard state buffer
http://vasilkovsky.dommel.be/Keytest.zip

Run it on both Primary and Secondary ,click in the window , and press buttons on your keyboard or mouse , you will see the values change , ( the left value is the Virtual_Key code , the right is the content)
For media keys , on secondary , all the keys will default to Virtual_Key FF , which is actually reserved i think..
Here is a list so you can compare.

If you also want to see the fact that the primary mode app is indeed sending the correct data :

you can find ethereal from lot's of freeware sources..
when you monitor traffic , make sure only multiplicity is running.

right click on the packets that have "> 30564 " in them and select follow TCP stream,
then in the view click the radiobutton labeled 'hex dump' that one is the most readable.


Have fun.
Reply #3 Top

Send this data to [email protected]

It will get forwarded to the devs.  Thanks for the effort you went to to track this down.  It's appreciated.

Reply #4 Top

Thanks for reporting this.

We should have an updated MP beta build out next week with a fix for this issue.

Reply #5 Top
Seems to be fixed in ..017

Great !.