Imported issue:
- Author: axel.eirola (Google user)
- Date: 2009-05-18 00:00:00
- Legacy ID: 58
The problem is that the client sends a sequence of keystrokes upon
receiving 'a' from the server, instead of only one. This is an issue in
most games where the key configuration setup procedure only registers the
first keystroke which is 'capslock' instead of 'a'. If shift is pressed
while typing 'a' this does not occur and the only keystroke sent is 'a'.
What steps will reproduce the problem?
- Set debug level to DEBUG1 on Windows client
- Press 'a' key on server keyboard
- Notice extra keystroke events in log
What is the expected output? What do you see instead?
From the log when pressing 's':
2009-05-18T18:42:05 DEBUG1: recv key down id=0x00000073, mask=0x0000,
button=0x0027
lib\client\CServerProxy.cpp,56
2009-05-18T18:42:05 DEBUG1: mapKey 0073 (115) with mask 0000, start state:
0000
lib\synergy\CKeyMap.cpp,26
2009-05-18T18:42:05 DEBUG1: find best: 0000 0000
lib\synergy\CKeyMap.cpp,61
2009-05-18T18:42:05 DEBUG1: best key index 0 of 2 (exact)
lib\synergy\CKeyMap.cpp,69
2009-05-18T18:42:05 DEBUG1: found key in group 0
lib\synergy\CKeyMap.cpp,61
2009-05-18T18:42:05 DEBUG1: state: 0000,0000,1007
lib\synergy\CKeyMap.cpp,78
2009-05-18T18:42:05 DEBUG1: flip: 0000 (0000 vs 0000 in 1007 - 0000)
lib\synergy\CKeyMap.cpp,87
2009-05-18T18:42:05 DEBUG1: desired state: 0000 0000,0000,1007
lib\synergy\CKeyMap.cpp,79
2009-05-18T18:42:05 DEBUG1: flip: 0000 (0000 vs 0000 in eff8 - 6020)
lib\synergy\CKeyMap.cpp,87
2009-05-18T18:42:05 DEBUG1: mapped to 01f, new state 0000
lib\synergy\CKeyMap.cpp,32
2009-05-18T18:42:05 DEBUG1: keystrokes:
lib\synergy\CKeyState.cpp,80
2009-05-18T18:42:05 DEBUG1: 01f (00000053) down
lib\platform\CMSWindowsKeyState.cpp,119
2009-05-18T18:42:05 DEBUG1: recv key up id=0x00000073, mask=0x0000,
button=0x0027
lib\client\CServerProxy.cpp,60
2009-05-18T18:42:05 DEBUG1: keystrokes:
lib\synergy\CKeyState.cpp,80
2009-05-18T18:42:05 DEBUG1: 01f (00000053) up
lib\platform\CMSWindowsKeyState.cpp,119
Compared to log when pressing 'a':
2009-05-18T18:42:01 DEBUG1: recv key down id=0x00000061, mask=0x0000,
button=0x0026
lib\client\CServerProxy.cpp,56
2009-05-18T18:42:01 DEBUG1: mapKey 0061 (97) with mask 0000, start state:
0000
lib\synergy\CKeyMap.cpp,26
2009-05-18T18:42:01 DEBUG1: find best: 0000 0000
lib\synergy\CKeyMap.cpp,61
2009-05-18T18:42:01 DEBUG1: best key index 0 of 1 (exact)
lib\synergy\CKeyMap.cpp,69
2009-05-18T18:42:01 DEBUG1: found key in group 0
lib\synergy\CKeyMap.cpp,61
2009-05-18T18:42:01 DEBUG1: state: 0000,1001,1007
lib\synergy\CKeyMap.cpp,78
2009-05-18T18:42:01 DEBUG1: flip: 1001 (0000 vs 1001 in 1007 - 0000)
lib\synergy\CKeyMap.cpp,87
2009-05-18T18:42:01 DEBUG1: desired state: 0000 1001,1001,1007
lib\synergy\CKeyMap.cpp,79
2009-05-18T18:42:01 DEBUG1: flip: 0000 (1001 vs 0000 in eff8 - 6020)
lib\synergy\CKeyMap.cpp,87
2009-05-18T18:42:01 DEBUG1: mapped to 01e, new state 0000
lib\synergy\CKeyMap.cpp,32
2009-05-18T18:42:01 DEBUG1: keystrokes:
lib\synergy\CKeyState.cpp,80
2009-05-18T18:42:01 DEBUG1: 03a (00000014) down
lib\platform\CMSWindowsKeyState.cpp,119
2009-05-18T18:42:01 DEBUG1: 03a (00000014) up
lib\platform\CMSWindowsKeyState.cpp,119
2009-05-18T18:42:01 DEBUG1: 02a (000000a0) down
lib\platform\CMSWindowsKeyState.cpp,119
2009-05-18T18:42:01 DEBUG1: 01e (00000041) down
lib\platform\CMSWindowsKeyState.cpp,119
2009-05-18T18:42:01 DEBUG1: 02a (000000a0) up
lib\platform\CMSWindowsKeyState.cpp,119
2009-05-18T18:42:01 DEBUG1: 03a (00000014) down
lib\platform\CMSWindowsKeyState.cpp,119
2009-05-18T18:42:01 DEBUG1: 03a (00000014) up
lib\platform\CMSWindowsKeyState.cpp,119
2009-05-18T18:42:01 DEBUG1: recv key up id=0x00000061, mask=0x0000,
button=0x0026
lib\client\CServerProxy.cpp,60
2009-05-18T18:42:01 DEBUG1: keystrokes:
lib\synergy\CKeyState.cpp,80
2009-05-18T18:42:01 DEBUG1: 01e (00000041) up
lib\platform\CMSWindowsKeyState.cpp,119
What version of the product are you using? On what operating system?
Using synergy-plus 1.3.3 client on 64bit Windows Vista, connected to
vsynergy ersion 1.3.1 running on 64bit Gentoo Linux.
Please provide any additional information below.
The same occurs with 1.3.1, but filing the bug here since it isn't under
active developement anymore.