Bug #1161 - 1.3.1: < and > result in « and », British keybd, Win32-Linux
- Duplicates: Bug #71 - Omega (?) symbol appears instead of @ on GB keyboard
SourceForge user: nobody
Synergy version: 1.3.1
Server: Windows XP
Client: Linux (CentOS 4.3)
Keyboard layout: British English
Pressing < (Shift+,) results in « appearing on the client.
Pressing > (Shift+.) results in » appearing on the client.
Log below is DEBUG1 log of pressing Shift+, followed by
Shift+. (releasing shift between the two), trimmed as
near as I can guess:
DEBUG1: CServerProxy.cpp,562: recv key down
id=0x0000efe1, mask=0x0001, button=0x002a
DEBUG1: CKeyMap.cpp,260: mapKey efe1 (61409) with mask
0001, start state: 0000
DEBUG1: CKeyMap.cpp,610: find best: 0000 0001
DEBUG1: CKeyMap.cpp,691: best key index 0 of 1 (exact)
DEBUG1: CKeyMap.cpp,616: found key in group 0
DEBUG1: CKeyMap.cpp,783: state: 0000,0000,0000
DEBUG1: CKeyMap.cpp,876: flip: 0000 (0000 vs 0000 in
0000 - 0000)
DEBUG1: CKeyMap.cpp,795: desired state: 0001 0000,0000,0000
DEBUG1: CKeyMap.cpp,876: flip: 0000 (0000 vs 0001 in
fffe - 6020)
DEBUG1: CKeyMap.cpp,322: mapped to 032, new state 0001
DEBUG1: CKeyState.cpp,800: keystrokes:
DEBUG1: CXWindowsKeyState.cpp,208: 032 (00000000) down
DEBUG1: CServerProxy.cpp,562: recv key down
id=0x0000003c, mask=0x0001, button=0x0033
DEBUG1: CKeyMap.cpp,260: mapKey 003c (60) with mask
0001, start state: 0001
DEBUG1: CKeyMap.cpp,610: find best: 0001 0001
DEBUG1: CKeyMap.cpp,691: best key index 0 of 3 (exact)
DEBUG1: CKeyMap.cpp,616: found key in group 0
DEBUG1: CKeyMap.cpp,783: state: 0001,0021,1021
DEBUG1: CKeyMap.cpp,876: flip: 0020 (0001 vs 0021 in
1021 - 0000)
DEBUG1: CKeyMap.cpp,876: flip: 0001 (0001 vs 0000 in
0001 - 0000)
DEBUG1: CKeyMap.cpp,795: desired state: 0001 0020,0021,1021
DEBUG1: CKeyMap.cpp,876: flip: 0000 (0020 vs 0001 in
efde - 6020)
DEBUG1: CKeyMap.cpp,322: mapped to 034, new state 0001
DEBUG1: CKeyState.cpp,800: keystrokes:
DEBUG1: CXWindowsKeyState.cpp,208: 032 (00000000) up
DEBUG1: CXWindowsKeyState.cpp,208: 071 (00000000) down
DEBUG1: CXWindowsKeyState.cpp,208: 034 (00000000) down
DEBUG1: CXWindowsKeyState.cpp,208: 071 (00000000) up
DEBUG1: CXWindowsKeyState.cpp,208: 032 (00000000) down
«DEBUG1: CServerProxy.cpp,609: recv key up
id=0x0000003c, mask=0x0001, button=0x0033
DEBUG1: CKeyState.cpp,800: keystrokes:
DEBUG1: CXWindowsKeyState.cpp,208: 034 (00000000) up
DEBUG1: CServerProxy.cpp,609: recv key up
id=0x0000efe1, mask=0x0000, button=0x002a
DEBUG1: CKeyState.cpp,653: new state 0000
DEBUG1: CKeyState.cpp,800: keystrokes:
DEBUG1: CXWindowsKeyState.cpp,208: 032 (00000000) up
DEBUG1: CServerProxy.cpp,562: recv key down
id=0x0000efe1, mask=0x0001, button=0x002a
DEBUG1: CKeyMap.cpp,260: mapKey efe1 (61409) with mask
0001, start state: 0000
DEBUG1: CKeyMap.cpp,610: find best: 0000 0001
DEBUG1: CKeyMap.cpp,691: best key index 0 of 1 (exact)
DEBUG1: CKeyMap.cpp,616: found key in group 0
DEBUG1: CKeyMap.cpp,783: state: 0000,0000,0000
DEBUG1: CKeyMap.cpp,876: flip: 0000 (0000 vs 0000 in
0000 - 0000)
DEBUG1: CKeyMap.cpp,795: desired state: 0001 0000,0000,0000
DEBUG1: CKeyMap.cpp,876: flip: 0000 (0000 vs 0001 in
fffe - 6020)
DEBUG1: CKeyMap.cpp,322: mapped to 032, new state 0001
DEBUG1: CKeyState.cpp,800: keystrokes:
DEBUG1: CXWindowsKeyState.cpp,208: 032 (00000000) down
DEBUG1: CServerProxy.cpp,562: recv key down
id=0x0000003e, mask=0x0001, button=0x0034
DEBUG1: CKeyMap.cpp,260: mapKey 003e (62) with mask
0001, start state: 0001
DEBUG1: CKeyMap.cpp,610: find best: 0001 0001
DEBUG1: CKeyMap.cpp,691: best key index 0 of 3 (exact)
DEBUG1: CKeyMap.cpp,616: found key in group 0
DEBUG1: CKeyMap.cpp,783: state: 0001,0021,1021
DEBUG1: CKeyMap.cpp,876: flip: 0020 (0001 vs 0021 in
1021 - 0000)
DEBUG1: CKeyMap.cpp,876: flip: 0001 (0001 vs 0000 in
0001 - 0000)
DEBUG1: CKeyMap.cpp,795: desired state: 0001 0020,0021,1021
DEBUG1: CKeyMap.cpp,876: flip: 0000 (0020 vs 0001 in
efde - 6020)
DEBUG1: CKeyMap.cpp,322: mapped to 035, new state 0001
DEBUG1: CKeyState.cpp,800: keystrokes:
DEBUG1: CXWindowsKeyState.cpp,208: 032 (00000000) up
DEBUG1: CXWindowsKeyState.cpp,208: 071 (00000000) down
DEBUG1: CXWindowsKeyState.cpp,208: 035 (00000000) down
DEBUG1: CXWindowsKeyState.cpp,208: 071 (00000000) up
DEBUG1: CXWindowsKeyState.cpp,208: 032 (00000000) down
»DEBUG1: CServerProxy.cpp,609: recv key up
id=0x0000003e, mask=0x0001, button=0x0034
DEBUG1: CKeyState.cpp,800: keystrokes:
DEBUG1: CXWindowsKeyState.cpp,208: 035 (00000000) up
DEBUG1: CServerProxy.cpp,609: recv key up
id=0x0000efe1, mask=0x0000, button=0x002a
DEBUG1: CKeyState.cpp,653: new state 0000
DEBUG1: CKeyState.cpp,800: keystrokes:
DEBUG1: CXWindowsKeyState.cpp,208: 032 (00000000) up
Steffan
#1
SourceForge user: crs23
Logged In: YES
user_id=21565
thanks, great report. i'll check it out.
#2
SourceForge user: kochka
Logged In: YES
user_id=1199534
Synergy version: 1.3.1
Server: Windows XP
Client: Linux (Gentoo)
I've quite the same issue with a French Azerty Keyboard
Pressing < is OK
Pressing > (Shift+.) results in » appearing on the client.
I can get the > with Maj Lock
Pressing < results in « appearing on the client so must be OK.
Pressing > (Shift+.) is OK.
#3
SourceForge user: nobody
Logged In: NO
I have this exact same problem. I am running the server on
windows 2000 and a client on Red Hat.
#4
SourceForge user: robdesbois
Logged In: YES
user_id=1369423
Same problem.
Server: Windows XP Pro 32-bit SP2
Client: RedHat Linux 9 kernel 2.4.20-43.9.legacy
On mine, < and > are mapped to « and »
Does anyone have a workaround for it? I can't get < and >
without copying from server machine or something already on
the client.
#5
SourceForge user: nobody
Logged In: NO
I have the same problem with a very similar configuration.
Server: synergy 1.3.1, Windows XP Pro SP2, UK region
Client: synergy 1.3.1, Fedora Core 4, GB locale, UK keyboard
I ran xev to see what keyboard events X11 is receiving for
these 2 cases:
1) From locally attached keyboard to client machine,
pressing [Shift]+[Comma] for "<";
2) From synergy server, doing the same.
The other cases of pressing [Shift]+[Dot] for ">" produce
similar results. Locally attached keyboard works as
expected, while synergy generates the wrong keyboard events.
Hope this extra information is useful.
Thanks,
Mike Fleetwood
Case 1) From locally attached keyboard to client machine,
pressing [Shift]+[Comma] for "<".
KeyPress event, serial 29, synthetic NO, window 0x1400001,
root 0x48, subw 0x1400002, time 349999737, (55,35),
root:(750,148),
state 0x0, keycode 62 (keysym 0xffe2, ShiftR),
samescreen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 29, synthetic NO, window 0x1400001,
root 0x48, subw 0x1400002, time 350000849, (55,35),
root:(750,148),
state 0x1, keycode 59 (keysym 0x3c, less), same_screen YES,
XLookupString gives 1 bytes: (3c) "<"
XmbLookupString gives 1 bytes: (3c) "<"
XFilterEvent returns: False
KeyRelease event, serial 29, synthetic NO, window 0x1400001,
root 0x48, subw 0x1400002, time 350000993, (55,35),
root:(750,148),
state 0x1, keycode 59 (keysym 0x3c, less), same_screen YES,
XLookupString gives 1 bytes: (3c) "<"
KeyRelease event, serial 29, synthetic NO, window 0x1400001,
root 0x48, subw 0x1400002, time 350001377, (55,35),
root:(750,148),
state 0x1, keycode 62 (keysym 0xffe2, ShiftR),
samescreen YES,
XLookupString gives 0 bytes:
Case 2) From synergy server, pressing [Shift]+[Comma] for "<".
KeyPress event, serial 29, synthetic NO, window 0x2c00001,
root 0x48, subw 0x0, time 350475841, (116,142),
root:(121,191),
state 0x0, keycode 62 (keysym 0xffe2, ShiftR),
samescreen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 29, synthetic NO, window 0x2c00001,
root 0x48, subw 0x0, time 350476145, (116,142),
root:(121,191),
state 0x1, keycode 62 (keysym 0xffe2, ShiftR),
samescreen YES,
XLookupString gives 0 bytes:
KeyPress event, serial 29, synthetic NO, window 0x2c00001,
root 0x48, subw 0x0, time 350476145, (116,142),
root:(121,191),
state 0x0, keycode 113 (keysym 0xfe03,
ISOLevel3Shift), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 29, synthetic NO, window 0x2c00001,
root 0x48, subw 0x0, time 350476145, (116,142),
root:(121,191),
state 0x80, keycode 52 (keysym 0xab, guillemotleft),
same_screen YES,
XLookupString gives 2 bytes: (c2 ab) "«"
XmbLookupString gives 2 bytes: (c2 ab) "«"
XFilterEvent returns: False
KeyRelease event, serial 29, synthetic NO, window 0x2c00001,
root 0x48, subw 0x0, time 350476145, (116,142),
root:(121,191),
state 0x80, keycode 113 (keysym 0xfe03,
ISOLevel3Shift), same_screen YES,
XLookupString gives 0 bytes:
KeyPress event, serial 29, synthetic NO, window 0x2c00001,
root 0x48, subw 0x0, time 350476145, (116,142),
root:(121,191),
state 0x0, keycode 62 (keysym 0xffe2, ShiftR),
samescreen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 29, synthetic NO, window 0x2c00001,
root 0x48, subw 0x0, time 350476261, (116,142),
root:(121,191),
state 0x1, keycode 52 (keysym 0x5a, Z), same_screen YES,
XLookupString gives 1 bytes: (5a) "Z"
KeyRelease event, serial 29, synthetic NO, window 0x2c00001,
root 0x48, subw 0x0, time 350476502, (116,142),
root:(121,191),
state 0x1, keycode 62 (keysym 0xffe2, ShiftR),
samescreen YES,
XLookupString gives 0 bytes:
#6
SourceForge user: mfleetwo
Logged In: YES
user_id=1261808
I use to have this problem (see comment dated 2006-05-06)
but since upgrading the machine with the synergy client from
Fedora Core 4 to Fedora Core 5, which included upgrading my
X server from X.Org 6.8.2 to to X.Org 7.0.0, it has gone
away. "<" and ">" now display correctly, but xev output is
still shows extra events. Unfortunately now the at synbol
"@" produces an omega "Ω"! (This bug has already been
reported by others as 1491507 "@ symbol broken in 1.3.1").
I will add 2 extra comments containing:
1) Difference between xdpyinfo output between X.Org 6.8.2
(from FC4) and X.Org 7.0.0 (from FC5). (Note that the FC4
output is actually from another machine which does not have
synergy installed, but I still think the output is relevant).
2) Xev output for local and remove key presses of
[Shift]+[Comma] "<".
Hope this additional information can help,
Mike Fleetwood
#7
SourceForge user: mfleetwo
Logged In: YES
user_id=1261808
Mike Fleetwood extra comment #1:
Xdpyinfo output difference between X.Org 6.8.2 (from FC4)
and X.Org 7.0.0 (from FC5). To my untrained eye there
appear to be some possibly important differences between the
capabilities of the different versions of the X server.
Specifically: focus value and addition of ExposureMask to
the current input event mask.
--- FC4-xpdyinfo.out 2006-06-07 21:32:54.000000000 +0100
+++ FC5-xpdyinfo.out 2006-06-07 21:32:07.000000000 +0100
@ -3,4 +3,4 @
vendor string: The X.Org Foundation
-vendor release number: 60802000
-X.Org version: 6.8.2
+vendor release number: 70000000
+X.Org version: 7.0.0
maximum request size: 16777212 bytes
@ -19,3 +19,3 @
keycode range: minimum 8, maximum 255
-focus: window 0x1e0001b, revert to Parent
+focus: PointerRoot
number of extensions: 31
@ -56,6 +56,7 @
screen #0:
- dimensions: 1152x864 pixels (340x271 millimeters)
- resolution: 86x81 dots per inch
+ print screen: no
+ dimensions: 1280x1024 pixels (322x241 millimeters)
+ resolution: 101x108 dots per inch
depths (7): 24, 1, 4, 8, 15, 16, 32
- root window id: 0x48
+ root window id: 0x4c
depth of root window: 24 planes
@ -67,7 +68,7 @
largest cursor: 64x64
- current input event mask: 0xfa2033
+ current input event mask: 0xfaa033
KeyPressMask KeyReleaseMask
EnterWindowMask
- LeaveWindowMask ButtonMotionMask
StructureNotifyMask
- SubstructureNotifyMask SubstructureRedirectMask
FocusChangeMask
- PropertyChangeMask ColormapChangeMask
+ LeaveWindowMask ButtonMotionMask
ExposureMask
+ StructureNotifyMask SubstructureNotifyMask
SubstructureRedirectMask
+ FocusChangeMask PropertyChangeMask
ColormapChangeMask
number of visuals: 16
#8
SourceForge user: mfleetwo
Logged In: YES
user_id=1261808
Mike Fleetwood extra comment #2:
Even though less than "<" and greater than ">" are now
working for me there are extra generated key press and
release events when synergy is forwarding the key strokes
from the synergy server.
1) From locally attached keyboard to client machine, xev
output from pressing [Shift]+[Comma] for "<":
KeyPress event, serial 29, synthetic NO, window 0x2e00001,
root 0x4c, subw 0x2e00002, time 2999409350, (32,38),
root:(997,123),
state 0x100, keycode 62 (keysym 0xffe2, ShiftR),
samescreen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 29, synthetic NO, window 0x2e00001,
root 0x4c, subw 0x2e00002, time 2999410038, (32,38),
root:(997,123),
state 0x101, keycode 59 (keysym 0x3c, less), same_screen
YES,
XLookupString gives 1 bytes: (3c) "<"
XmbLookupString gives 1 bytes: (3c) "<"
XFilterEvent returns: False
KeyRelease event, serial 29, synthetic NO, window 0x2e00001,
root 0x4c, subw 0x2e00002, time 2999410230, (32,38),
root:(997,123),
state 0x101, keycode 59 (keysym 0x3c, less), same_screen
YES,
XLookupString gives 1 bytes: (3c) "<"
KeyRelease event, serial 29, synthetic NO, window 0x2e00001,
root 0x4c, subw 0x2e00002, time 2999410670, (32,38),
root:(997,123),
state 0x101, keycode 62 (keysym 0xffe2, ShiftR),
samescreen YES,
XLookupString gives 0 bytes:
2) From synergy server, xev output from pressing
[Shift]+[Comma] for "<":
KeyPress event, serial 26, synthetic NO, window 0x2e00001,
root 0x4c, subw 0x2e00002, time 2999390442, (30,38),
root:(995,123),
state 0x0, keycode 62 (keysym 0xffe2, ShiftR),
samescreen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 29, synthetic NO, window 0x2e00001,
root 0x4c, subw 0x2e00002, time 2999391119, (30,38),
root:(995,123),
state 0x1, keycode 113 (keysym 0xfe03,
ISOLevel3Shift), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 29, synthetic NO, window 0x2e00001,
root 0x4c, subw 0x2e00002, time 2999391119, (30,38),
root:(995,123),
state 0x81, keycode 52 (keysym 0x3c, less), same_screen YES,
XKeysymToKeycode returns keycode: 59
XLookupString gives 1 bytes: (3c) "<"
XmbLookupString gives 1 bytes: (3c) "<"
XFilterEvent returns: False
KeyRelease event, serial 29, synthetic NO, window 0x2e00001,
root 0x4c, subw 0x2e00002, time 2999391119, (30,38),
root:(995,123),
state 0x81, keycode 113 (keysym 0xfe03,
ISOLevel3Shift), same_screen YES,
XLookupString gives 0 bytes:
KeyRelease event, serial 29, synthetic NO, window 0x2e00001,
root 0x4c, subw 0x2e00002, time 2999391253, (30,38),
root:(995,123),
state 0x1, keycode 52 (keysym 0x5a, Z), same_screen YES,
XLookupString gives 1 bytes: (5a) "Z"
KeyRelease event, serial 29, synthetic NO, window 0x2e00001,
root 0x4c, subw 0x2e00002, time 2999391833, (30,38),
root:(995,123),
state 0x1, keycode 62 (keysym 0xffe2, ShiftR),
samescreen YES,
XLookupString gives 0 bytes:
#9
SourceForge user: themill
Logged In: YES
user_id=429635
Originator: NO
Having upgraded to Debian etch and xorg 7.1 I now face this problem with a RHEL4 box... is there any movement towards a resolution?
Any suggested workarounds?
A pointer at where in the code I should look and some documentation on the X keycodes? Or even just where I could put a filter in that unbreaks it for me?
thanks!
Stuart
#10
SourceForge user: themill
Logged In: YES
user_id=429635
Originator: NO
In the xev log shown below, there are spurious ISOLevel3Shift events and the wrong key is reported to have been pressed (Z and X not comma and full-stop) -- I see this exact behaviour when working between an xorg 6.8 server and xorg 7.1 client.
As a workaround, you can issue the following commands:
xmodmap -e "keycode 52 = z Z less less less less"
xmodmap -e "keycode 53 = x X greater greater greater"
These remap ISOLevel3Shift+Z to < rather than guillemotleft («) and similarly for X.
Everything then seems to work OK.
(To automate this every time you log in, you can put these as commands in your .xsession, .kde/Autostart/xmodmap etc files or include this configuration in your .xmodmaprc etc)
It's a reasonable workaround... unless of course you actually need the « and » symbols!
#11
SourceForge user: noeldum
Logged In: YES
user_id=1971464
Originator: NO
Have you seen this thread:
https://sourceforge.net/tracker/?func=detail&atid=490467&aid=1835069&group_id=59275
Write comment