Bug #3102 - Broken dead key on Linux with 1.4 (regression)
- Related to: Bug #3088 - AltGr key not working on Windows XP client (Linux server) v1.4.7
Steps to reproduce:
I use a keyboard layout with a "dead key" (dvorak-fr). The dead key used to work with 1.3x but now it does not.
Steps to reproduce :
- setxkbmap -layout fr -variant dvorak
- press "dead key" (it's 8) + "e"
Versions (Synergy, OS):
Both packages from Archlinux
The following ticket issue #3137 looks very similar to this one (since the dead key takes the same role as Alt Gr).
1.4.7 (both on client and server) has the problem has well.
1.4.5 however works (does not have the bug).
So this regression is specific to 1.4.6 vs. 1.4.5.
this has slightly improved as of svn r1536.
My client and server use dvorak-fr with dead key.
è is produced correctly (dead+e), but ù is not produced and yields u (dead+u).
Log for è:
DEBUG1: recv key up id=0x00000060, mask=0x2020, button=0x0011 DEBUG1: recv key down id=0x000000e8, mask=0x2020, button=0x0029 DEBUG1: mapKey 00e8 (232) with mask 2020, start state: 2000 DEBUG1: found key in group 0 DEBUG1: state: 2000,0000,0000 DEBUG1: flip: 0000 (2000 vs 0000 in 0000 - 0000) DEBUG1: desired state: 2020 2000,0000,0021 DEBUG1: flip: 0000 (2000 vs 2020 in ffff - 6020) DEBUG1: mapped to 00d, new state 2000 DEBUG1: keystrokes: DEBUG1: 00d (00000000) down èDEBUG1: recv key up id=0x00000065, mask=0x2000, button=0x0029 DEBUG1: keystrokes: DEBUG1: 00d (00000000) up
Log for ù (incorrect):
DEBUG1: recv key up id=0x00000060, mask=0x2020, button=0x0011 DEBUG1: recv key down id=0x000000f9, mask=0x2020, button=0x0028 DEBUG1: mapKey 00f9 (249) with mask 2020, start state: 2000 DEBUG1: found key in group 0 DEBUG1: state: 2000,0020,0000 DEBUG1: flip: 0000 (2000 vs 0020 in 0000 - 0000) DEBUG1: desired state: 2020 2000,0020,0021 DEBUG1: flip: 0000 (2000 vs 2020 in ffff - 6020) DEBUG1: mapped to 028, new state 2000 DEBUG1: keystrokes: DEBUG1: 028 (00000000) down uDEBUG1: recv key up id=0x00000075, mask=0x2000, button=0x0028 DEBUG1: keystrokes: DEBUG1: 028 (00000000) up
1.4.5 on server and client: works 1.4.5 on server, r1536 on client: broken r1536 on server, 1.4.5 on client: works
So it seems there is a regression on the client side between 1.4.5 and 1.4.6.
Found the bad commit after bisecting, it is r1206. As it breaks modifiers, I think it would gain to be reverted.
c8c78b6287e84b84ab52b160c54e671b3626739a is the first bad commit commit c8c78b6287e84b84ab52b160c54e671b3626739a Author: nick.bolton.uk <nick.bolton.uk@33c40d52-04ba-11de-a43f-ff96a2b7a9af> Date: Wed Feb 1 15:58:31 2012 +0000
fixed #3091 patch by David Otto git-svn-id: http://synergy-plus.googlecode.com/svn/branches/1.4@1206 33c40d52-04ba-11de-a43f-ff96a2b7a9af
:040000 040000 09079397a43abb54f86d0d800b238e1cca208113 3db58c37cc6b767db2194844a6cee751edfad728 M src