Synergy

Issue Tracker (powered by SPIT)

Bug #1161 - 1.3.1: < and > result in « and », British keybd, Win32-Linux

Status:
Invalid
Priority:
Normal
Assignee:
None
Category:
None
Target:
None
Found:
None
Created by:
Created on:
3 Apr 2006 12:10
Updated by:
None
Updated on:
4 Sep 2010 11:01
Platform:
None
Google ID:
sf-146
Redmine ID:
1193

  • 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

4 Apr 2006 02:08: Issue Importer wrote a comment.

SourceForge user: crs23

Logged In: YES
user_id=21565

thanks, great report. i'll check it out.


#2

9 Apr 2006 12:59: Issue Importer wrote a comment.

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

12 Apr 2006 12:18: Issue Importer wrote a comment.

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

2 May 2006 11:58: Issue Importer wrote a comment.

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

6 May 2006 09:02: Issue Importer wrote a comment.

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),
same
screen 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),
same
screen 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),
same
screen 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),
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 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),
same
screen 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),
same
screen YES,
XLookupString gives 0 bytes:


#6

8 Jun 2006 09:19: Issue Importer wrote a comment.

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

8 Jun 2006 09:28: Issue Importer wrote a comment.

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

8 Jun 2006 09:39: Issue Importer wrote a comment.

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),
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 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),
same
screen 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),
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 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),
same
screen YES,
XLookupString gives 0 bytes:


#9

18 Jun 2007 15:25: Issue Importer wrote a comment.

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

28 Jun 2007 11:43: Issue Importer wrote a comment.

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

26 Mar 2008 11:17: Issue Importer wrote a comment.

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


#12

4 Sep 2010 11:01: Nick Bolton wrote a comment.

Sort-of-duplicate (we should use this issue for extra info when solving #72).


4 Sep 2010 11:01: Nick Bolton changed Status.

New Invalid