xpra icon
Bug tracker and wiki

Opened 3 weeks ago

Last modified 3 weeks ago

#1482 new defect

In shadow mode pressed key works only once..

Reported by: B Owned by: B
Priority: major Milestone: 2.1
Component: core Version: trunk
Keywords: Cc:

Description

Hi,

in shadow mode permanent pressing a key only do the key once on shadowed server.

Host os: Xenial
client os: xenial

latest xpra version.

If u need more information, pls let me know...

Attachments (2)

backspace-client.log (64.1 KB) - added by Antoine Martin 3 weeks ago.
backspace pressed - client log
backspace-server.log (7.3 KB) - added by Antoine Martin 3 weeks ago.
backspace pressed - server log

Download all attachments as: .zip

Change History (9)

comment:1 Changed 3 weeks ago by Antoine Martin

Owner: changed from Antoine Martin to B

Do you mean to say there there is no key repeat?
I've just tried it on both Xenial and Fedora and it worked fine on both.

Please attach the "-d keyboard" output for both the client and the server.
Please also specify the exact version, see wiki/ReportingBugs for why "the latest version" is not a good answer.

comment:2 Changed 3 weeks ago by B

thanx for replying and sorry for my late answer:

if i press for instance keyboard key i for about 2 secs, only one i is printed in on the xpra server. Another example is that if I have an text and want to delete various thanx with the backspace, i have to press backspace for every char and cannot just keep pressing backspace...

(edit: converted to attachment):
attachment/ticket/1482/backspace-client.log

in that example i pressed backspace to delete various chars, but only one gots deleted....

greets

Last edited 3 weeks ago by Antoine Martin (previous) (diff)

comment:3 Changed 3 weeks ago by B

server log: (edit: converted to attachment)
attachment/ticket/1482/backspace-server.log

me again, another problem i figured out is that in shadow mode, if i press "/" on server _ gets printed

Client:

2017-04-02 21:28:00,464 parse_key_event(<gtk.gdk.Event at 0x7fa3bb7827d8: GDK_KEY_PRESS keyval=Shift_R>, True)=<GTKKeyEvent object, contents: {'modifiers': [], 'group': 0, 'string': '', 'keyname': 'Shift_R', 'pressed': True, 'keyval': 65506, 'keycode': 62}>
2017-04-02 21:28:00,464 handle_key_action(ClientWindow(1), <GTKKeyEvent object, contents: {'modifiers': [], 'group': 0, 'string': '', 'keyname': 'Shift_R', 'pressed': True, 'keyval': 65506, 'keycode': 62}>) wid=1
2017-04-02 21:28:00,464 send_key_action(1, <GTKKeyEvent object, contents: {'modifiers': [], 'group': 0, 'string': '', 'keyname': 'Shift_R', 'pressed': True, 'keyval': 65506, 'keycode': 62}>)
2017-04-02 21:28:00,952 parse_key_event(<gtk.gdk.Event at 0x7fa3bb782788: GDK_KEY_PRESS keyval=slash>, True)=<GTKKeyEvent object, contents: {'modifiers': ['shift'], 'group': 0, 'string': '/', 'keyname': 'slash', 'pressed': True, 'keyval': 47, 'keycode': 16}>
2017-04-02 21:28:00,952 handle_key_action(ClientWindow(1), <GTKKeyEvent object, contents: {'modifiers': ['shift'], 'group': 0, 'string': '/', 'keyname': 'slash', 'pressed': True, 'keyval': 47, 'keycode': 16}>) wid=1
2017-04-02 21:28:00,952 send_key_action(1, <GTKKeyEvent object, contents: {'modifiers': ['shift'], 'group': 0, 'string': '/', 'keyname': 'slash', 'pressed': True, 'keyval': 47, 'keycode': 16}>)
2017-04-02 21:28:01,167 parse_key_event(<gtk.gdk.Event at 0x7fa3bb7827d8: GDK_KEY_RELEASE keyval=slash>, False)=<GTKKeyEvent object, contents: {'modifiers': ['shift'], 'group': 0, 'string': '/', 'keyname': 'slash', 'pressed': False, 'keyval': 47, 'keycode': 16}>
2017-04-02 21:28:01,168 handle_key_action(ClientWindow(1), <GTKKeyEvent object, contents: {'modifiers': ['shift'], 'group': 0, 'string': '/', 'keyname': 'slash', 'pressed': False, 'keyval': 47, 'keycode': 16}>) wid=1
2017-04-02 21:28:01,168 send_key_action(1, <GTKKeyEvent object, contents: {'modifiers': ['shift'], 'group': 0, 'string': '/', 'keyname': 'slash', 'pressed': False, 'keyval': 47, 'keycode': 16}>)
2017-04-02 21:28:01,335 parse_key_event(<gtk.gdk.Event at 0x7fa3bb7827d8: GDK_KEY_RELEASE keyval=Shift_R>, False)=<GTKKeyEvent object, contents: {'modifiers': ['shift'], 'group': 0, 'string': '', 'keyname': 'Shift_R', 'pressed': False, 'keyval': 65506, 'keycode': 62}>
2017-04-02 21:28:01,336 handle_key_action(ClientWindow(1), <GTKKeyEvent object, contents: {'modifiers': ['shift'], 'group': 0, 'string': '', 'keyname': 'Shift_R', 'pressed': False, 'keyval': 65506, 'keycode': 62}>) wid=1
2017-04-02 21:28:01,336 send_key_action(1, <GTKKeyEvent object, contents: {'modifiers': ['shift'], 'group': 0, 'string': '', 'keyname': 'Shift_R', 'pressed': False, 'keyval': 65506, 'keycode': 62}>)
2017-04-02 21:28:13,664 parse_key_event(<gtk.gdk.Event at 0x7fa3bb7827d8: GDK_KEY_PRESS keyval=Shift_L>, True)=<GTKKeyEvent object, contents: {'modifiers': [], 'group': 0, 'string': '', 'keyname': 'Shift_L', 'pressed': True, 'keyval': 65505, 'keycode': 50}>
2017-04-02 21:28:13,664 handle_key_action(ClientWindow(1), <GTKKeyEvent object, contents: {'modifiers': [], 'group': 0, 'string': '', 'keyname': 'Shift_L', 'pressed': True, 'keyval': 65505, 'keycode': 50}>) wid=1

Server:

2017-04-02 21:27:59,759  doing a full keyboard reset, keys now pressed={}
2017-04-02 21:28:00,472 client 1: parse_key_event(<gtk.gdk.Event at 0x7fa3bb7827d8: GDK_KEY_PRESS keyval=Shift_R>, True)=<GTKKeyEvent object, contents: {'modifiers': [], 'group': 0, 'string': '', 'k
ue, 'keyval': 65506, 'keycode': 62}>
2017-04-02 21:28:00,474 client 1: handle_key_action(ClientWindow(1), <GTKKeyEvent object, contents: {'modifiers': [], 'group': 0, 'string': '', 'keyname': 'Shift_R', 'pressed': True, 'keyval': 65506
2017-04-02 21:28:00,478 client 1: send_key_action(1, <GTKKeyEvent object, contents: {'modifiers': [], 'group': 0, 'string': '', 'keyname': 'Shift_R', 'pressed': True, 'keyval': 65506, 'keycode': 62}
2017-04-02 21:28:00,479 Warning: failed to remove the following modifiers:
2017-04-02 21:28:00,479  mod2
2017-04-02 21:28:00,479  keys still pressed={}
2017-04-02 21:28:00,480  doing a full keyboard reset, keys now pressed={}
2017-04-02 21:28:00,960 client 1: parse_key_event(<gtk.gdk.Event at 0x7fa3bb782788: GDK_KEY_PRESS keyval=slash>, True)=<GTKKeyEvent object, contents: {'modifiers': ['shift'], 'group': 0, 'string': '
: True, 'keyval': 47, 'keycode': 16}>
2017-04-02 21:28:00,964 client 1: handle_key_action(ClientWindow(1), <GTKKeyEvent object, contents: {'modifiers': ['shift'], 'group': 0, 'string': '/', 'keyname': 'slash', 'pressed': True, 'keyval':
2017-04-02 21:28:00,964 client 1: send_key_action(1, <GTKKeyEvent object, contents: {'modifiers': ['shift'], 'group': 0, 'string': '/', 'keyname': 'slash', 'pressed': True, 'keyval': 47, 'keycode': 
2017-04-02 21:28:00,965 Warning: failed to remove the following modifiers:
2017-04-02 21:28:00,965  mod2
2017-04-02 21:28:00,965  keys still pressed={62: 'Shift_R'}
2017-04-02 21:28:00,966  doing a full keyboard reset, keys now pressed={}
2017-04-02 21:28:01,175 client 1: parse_key_event(<gtk.gdk.Event at 0x7fa3bb7827d8: GDK_KEY_RELEASE keyval=slash>, False)=<GTKKeyEvent object, contents: {'modifiers': ['shift'], 'group': 0, 'string'
ed': False, 'keyval': 47, 'keycode': 16}>
2017-04-02 21:28:01,178 client 1: handle_key_action(ClientWindow(1), <GTKKeyEvent object, contents: {'modifiers': ['shift'], 'group': 0, 'string': '/', 'keyname': 'slash', 'pressed': False, 'keyval'
2017-04-02 21:28:01,181 client 1: send_key_action(1, <GTKKeyEvent object, contents: {'modifiers': ['shift'], 'group': 0, 'string': '/', 'keyname': 'slash', 'pressed': False, 'keyval': 47, 'keycode':
2017-04-02 21:28:01,182 Warning: failed to remove the following modifiers:
2017-04-02 21:28:01,183  mod2
2017-04-02 21:28:01,183  keys still pressed={50: 'Shift_L', 61: 'minus'}
2017-04-02 21:28:01,184  doing a full keyboard reset, keys now pressed={}

greets

Last edited 3 weeks ago by Antoine Martin (previous) (diff)

Changed 3 weeks ago by Antoine Martin

Attachment: backspace-client.log added

backspace pressed - client log

Changed 3 weeks ago by Antoine Martin

Attachment: backspace-server.log added

backspace pressed - server log

comment:4 Changed 3 weeks ago by Antoine Martin

Looks like we're trying to unset a modifier, that goes wrong and we end up unpressing "Backspace" instead:

client 1: send_key_action(1, <GTKKeyEvent object, contents: \
    {'modifiers': [], 'group': 0, 'string': '', 'keyname': 'BackSpace', 'pressed': True, 'keyval': 65288, 'keycode': 2
Warning: failed to remove the following modifiers:
 mod2
 keys still pressed={22: 'BackSpace'}
 doing a full keyboard reset, keys now pressed={}

Please provide more details so I can try to reproduce this, see wiki/Keyboard.

comment:5 Changed 3 weeks ago by B

Hi,

with --no-keyboard-sync the "no repeating problem" is gone.

xmodmap -pke
keycode 16 = 7 slash ampsersand....
...
keycode 61 = minus underscore slash ....

2017-04-03 20:59:45,087 handle_key_action(GLClientWindow(1 : gtk2.GLWindowBacking(1, (3600, 1200), YUV420P)), <GTKKeyEvent object, contents: {'modifiers': ['shift'], 'group': 0, 'string': '/', 'keyname': 'slash', 'pressed': True, 'keyval': 47, 'keycode': 16}>) wid=1
2017-04-03 20:59:45,088 send_key_action(1, <GTKKeyEvent object, contents: {'modifiers': ['shift'], 'group': 0, 'string': '/', 'keyname': 'slash', 'pressed': True, 'keyval': 47, 'keycode': 16}>)
2017-04-03 20:59:45,293 parse_key_event(<gtk.gdk.Event at 0x7f4ff8179d78: GDK_KEY_RELEASE keyval=slash>, False)=<GTKKeyEvent object, contents: {'modifiers': ['shift'], 'group': 0, 'string': '/', 'keyname': 'slash', 'pressed': False, 'keyval': 47, 'keycode': 16}>
2017-04-03 20:59:45,294 handle_key_action(GLClientWindow(1 : gtk2.GLWindowBacking(1, (3600, 1200), YUV420P)), <GTKKeyEvent object, contents: {'modifiers': ['shift'], 'group': 0, 'string': '/', 'keyname': 'slash', 'pressed': False, 'keyval': 47, 'keycode': 16}>) wid=1
2017-04-03 20:59:45,295 send_key_action(1, <GTKKeyEvent object, contents: {'modifiers': ['shift'], 'group': 0, 'string': '/', 'keyname': 'slash', 'pressed': False, 'keyval': 47, 'keycode': 16}>)

hmm...looks good to me...but only prints an "_" to the screen on server

greets

comment:6 Changed 3 weeks ago by Antoine Martin

Milestone: 2.1

The required information is still missing, see the link in comment:4.
ie: setxkbmap -print, xmodmap -pke, xmodmap -pm, etc..

comment:7 Changed 3 weeks ago by B

Hi,
im using de on server and de on client. I tried to switch already in tray symbol to de, without any success.

$ setxkbmap -print
xkb_keymap {
	xkb_keycodes  { include "evdev+aliases(qwertz)"	};
	xkb_types     { include "complete"	};
	xkb_compat    { include "complete"	};
	xkb_symbols   { include "pc+de+us:2+inet(evdev)"	};
	xkb_geometry  { include "pc(pc105)"	};
};
$ xmodmap -pke
keycode  11 = 2 quotedbl 2 at twosuperior oneeighth -> 2(is ok),Ä(should be "),²(is ok)
keycode  12 = 3 section 3 numbersign threesuperior sterling
keycode  13 = 4 dollar 4 dollar onequarter currency
keycode  14 = 5 percent 5 percent onehalf threeeighths
keycode  15 = 6 ampersand 6 asciicircum notsign fiveeighths ->6(is ok),K(should be &)
keycode  16 = 7 slash 7 ampersand braceleft seveneighths -> 7(is ok),_(should be /),¨(should be [) 
keycode  17 = 8 parenleft 8 asterisk bracketleft trademark
keycode  18 = 9 parenright 9 parenleft bracketright plusminus
keycode  19 = 0 equal 0 parenright braceright degree -> 0(is ok), `(should be =)
keycode  20 = ssharp question minus underscore backslash questiondown U1E9E -> ß(is ok), _(should be ?)
keycode  21 = dead_acute dead_grave equal plus dead_cedilla dead_ogonek


keycode  34 = udiaeresis Udiaeresis bracketleft braceleft dead_diaeresis dead_abovering
keycode  35 = plus asterisk bracketright braceright asciitilde macron
keycode  36 = Return NoSymbol Return
keycode  37 = Control_L NoSymbol Control_L

keycode  47 = odiaeresis Odiaeresis semicolon colon dead_doubleacute dead_belowdot
keycode  48 = adiaeresis Adiaeresis apostrophe quotedbl dead_circumflex dead_caron
keycode  49 = dead_circumflex degree grave asciitilde U2032 U2033
keycode  50 = Shift_L NoSymbol Shift_L
keycode  51 = numbersign apostrophe backslash bar rightsinglequotemark dead_breve

keycode  59 = comma semicolon comma less periodcentered multiply
keycode  60 = period colon period greater U2026 division
keycode  61 = minus underscore slash question endash emdash
keycode  62 = Shift_R NoSymbol Shift_R
keycode  63 = KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply XF86ClearGrab KP_Multiply KP_Multiply XF86ClearGrab
keycode  64 = Alt_L Meta_L Alt_L Meta_L
$ xmodmap -pm
xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):
shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x40),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

xkbprint -label name $DISPLAY --> no output

xev:

KeyPress event, serial 37, synthetic NO, window 0x5800001,
    root 0x4b5, subw 0x0, time 977811682, (866,596), root:(932,648),
    state 0x11, keycode 61 (keysym 0x5f, underscore), same_screen YES,
    XLookupString gives 1 bytes: (5f) "_"
    XmbLookupString gives 1 bytes: (5f) "_"
    XFilterEvent returns: False

KeyRelease event, serial 37, synthetic NO, window 0x5800001,
    root 0x4b5, subw 0x0, time 977811863, (866,596), root:(932,648),
    state 0x11, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 37, synthetic NO, window 0x5800001,
    root 0x4b5, subw 0x0, time 977811864, (866,596), root:(932,648),
    state 0x10, keycode 61 (keysym 0x2d, minus), same_screen YES,
    XLookupString gives 1 bytes: (2d) "-"
    XFilterEvent returns: False

- should be /

KeyRelease event, serial 37, synthetic NO, window 0x5800001,
    root 0x4b5, subw 0x0, time 977952140, (564,495), root:(630,547),
    state 0x11, keycode 21 (keysym 0xfe50, dead_grave), same_screen YES,
    XLookupString gives 1 bytes: (60) "`"
    XFilterEvent returns: False

KeyRelease event, serial 37, synthetic NO, window 0x5800001,
    root 0x4b5, subw 0x0, time 977952140, (564,495), root:(630,547),
    state 0x11, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 37, synthetic NO, window 0x5800001,
    root 0x4b5, subw 0x0, time 977952141, (564,495), root:(630,547),
    state 0x10, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 37, synthetic NO, window 0x5800001,
    root 0x4b5, subw 0x0, time 977952441, (564,495), root:(630,547),
    state 0x11, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

` should be =

2729            emdash                      61      0       3
47              slash                       61      1       0
63              question                    61      1       1
65506           Shift_R                     62      0       0
65450           KP_Multiply                 63      0       0
65450           KP_Multiply                 
Last edited 3 weeks ago by Antoine Martin (previous) (diff)
Note: See TracTickets for help on using tickets.