xpra icon
Bug tracker and wiki

Opened 4 years ago

Closed 4 years ago

Last modified 3 years ago

#1234 closed defect (fixed)

Keyboard layout sync and managers

Reported by: psycho_zs Owned by: psycho_zs
Priority: minor Milestone: 2.0
Component: client Version: trunk
Keywords: keyboard layout switching X11 Cc:

Description

With global layout mode (X default, when no layout tool is used) layout can get out of sync: when xpra window is in focus, layout switches both on client and on server. When xpra window is out of focus, layout is only switched on client. When xpra recieves focus again, layouts can be inverted between client and server.

When using per-app mode (i.e. gxkb provides that, other tools like qxkb, gnome-settings-daemon can be configured also), layout is remembered per application (supposedly by PID). This works fine (omitting that all xpra windows get the same layout, but that is expected) for some time, until at some point it gets out of sync and becomes inverted also. Perhaps, when xpra window gains or looses focus it may or may not catch layout change.

I haven't tested any per-window mode, but supposedly it should have similar problem to per-app mode.

So, the main problem is that layout on server can become different than layout on client. Switching several times while xpra window is in focus re-syncs layouts.
Also, witching layouts by gxkb tray icon, even when xpra window is in focus, does not affect layout on server.

Attachments (1)

log.txt (136.4 KB) - added by psycho_zs 4 years ago.

Download all attachments as: .zip

Change History (8)

comment:1 Changed 4 years ago by Antoine Martin

Component: androidclient
Keywords: X11 added
Milestone: 0.181.0
Owner: changed from Antoine Martin to psycho_zs

We detect that the layout has changed using keys-changed signal of gtk.gdk.Keymap, maybe it isn't firing when it should. We could try to use the X11 hooks to make sure we get all such events.

Split from #1027 which is for win32.

Can you post the -d keyboard output of such events?

Changed 4 years ago by psycho_zs

Attachment: log.txt added

comment:2 Changed 4 years ago by psycho_zs

Attached the client terminal output. Attached to server, started leafpad, typed something in 'us' layout, switched to 'ru', typed again, changed to other window (local with 'en' layout), changed back to xpra leafpad window which should have 'ru' layout, typed, got latin characters. Gxkb icon showed ru layout for this window.

comment:3 Changed 4 years ago by Antoine Martin

Milestone: 1.01.1

Milestone renamed

comment:4 Changed 4 years ago by Antoine Martin

Milestone: 1.12.0

Milestone renamed

comment:5 Changed 4 years ago by Antoine Martin

Maybe #1380 will help?

comment:6 Changed 4 years ago by psycho_zs

Resolution: fixed
Status: newclosed

Tested in 2.0-20161223r14589-1. Layout seem to stay in sync with what is currently selected locally on the client.
Fixed, thanks!

comment:7 Changed 3 years ago by Antoine Martin

Summary: Keyborad layout sync and managersKeyboard layout sync and managers

(typo in title)

Note: See TracTickets for help on using tickets.