I assume it's relatively well known, but here's where I landed.

My plan to fix this, was to bypass XKM support completely, by
integrating the parser into the server. Currently the server forks
xkbcomp to build a particular keymap, xkbcomp produces (lossy) XKM
files, and then the server consumes XKM. xkbcommon was supposed to fix
this (hence the name), but the problem is that the server wants very
different things from xkbcommon than everyone else. Specifically, it
wants to be able to mutate arbitrary parts of the keymap after
construction, which is very messy. Ultimately we just kept xkbcommon for
everyone _but_ the X server, with a much smaller API.

The best thing to do for anyone who wants to pick this up is probably to
look at importing xkbcommon circa
https://github.com/xkbcommon/libxkbcommon/commit/ed18e65eacdabfeaeafee7c369891312af99c82d
into the X server, in place of the xkbcomp entrypoint in xkb/ddxLoad.c.
That particular commit is probably the most tractable balance between an
actual functional xkbcommon without memory leaks, and one which hasn't
changed the server-facing API and internals _too_ far away from what the
server needs.

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to xorg-server in Ubuntu.
https://bugs.launchpad.net/bugs/251443

Title:
  [Needs xkb protocol rework] keyboard layout switching shortcuts like
  Alt+Alt do not work anymore

Status in Ubuntu:
  Unknown
Status in xorg-server package in Ubuntu:
  Invalid

Bug description:
  Binary package hint: xorg

  (Bug #196277 used to cover two separate but similar looking bugs. We
  split them now, and here we describe one of the two bugs. The other
  bug has to do with autologin, which when enabled, ignores any keyboard
  layout settings that have been configured in GNOME, the graphical
  interface).

  In the keyboard layout preferences, you can set "Both alt keys
  together change layout", which worked in Gutsy for toggling between
  keyboard layouts.

  Currently:
  * "both alt keys..." does not toggle keyboard layouts
  * "both ctrl keys..." does not toggle keyboard layouts
  * "both shift keys..." works fine
  * "Alt+shift" works fine

  Steps to reproduce it are:
  * Visit System->Preferences->Keyboard-Layouts
  * Press Add and add a new layout.
  * Close preferences.
  * Open Text Editor or whatever you want and write something with Double-Alts 
it switch layout and writes with the other layout
  OK till now.
  * Reboot.
  * Open a text editor and try to switch layout... Boom! It doesn't work!

  Temporary Workaround. Open Layouts again and remove/add the second
  layout to start working again.

  another workaround using a script:
  https://bugs.launchpad.net/ubuntu/+source/xorg/+bug/196277/comments/60

  The text in the applet will change, to make it appear to be setting the 
correct layout, but the changes do not take effect.
  Actually shortcut doesn't work at all, I set to be alts toggle in keyboard 
preferences, and it doesn't work, another thing is that even with keyboard 
indicator applet you change language, it doesn't changes, name in the applet 
changes, but it doesn't work. I need to open keyboard preferences, layout 
options, remove the tick and then put it back on keyboard layout switching 
shortcut.. As I said, shortcut doesn't work after this, but applet starts to 
change the layout, not only letters on itself.

  This issue has been sufficiently confirmed. Please do not comment on
  this bug unless you have some information that will help solve the
  bug.

  [Background]
  Both Canonical and upstream are aware of this issue and consider it of high 
importance. Unfortunately, the root cause is not something that can be easily 
fixed.

  The issue is that to solve this problem, we need to have a way to save
  the ExplicitVModMapMask, which is tracked okay in memory but not when
  the configuration is passed via XKM binary files, because the XKM
  binary file format simply doesn't have a field for storing the
  VModMask flag data. The XKM file format allows only 8 flags to be set,
  and there are already 8 defined. See the upstream bug report for
  details: https://bugs.freedesktop.org/show_bug.cgi?id=4927

  Upstream's proposed solution to the problem is to remove the xkbcomp
  design and the xkm file format entirely, and switch to new X input
  technologies. This will be a fairly sizeable re-architecting effort,
  and will take time to complete. If you would like to help contribute
  to this solution for this problem, please work with Sergey Udaltsov.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+bug/251443/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to