I am testing the patch and something like it will be checked in. But
it would be nicer if Emacs could determine that Hyper and Super
is bound to fake keys and just ignore them. I'm currently using XKB
to get geometry info to determine that, but I wonder if there is a
better way. The reason I want this is that with the proposed patch
the logo key becomes Super on my system, which is not really helpful
either.
Can you please tell me what your configuration is? I am quite
surprised
that it does not work as expected, doesn't xev also report that your
logo key is Super_{L,R}?
If we could determine that Super is a fake key it would become Meta
which is so much better.
Fake keys have no symbol at level 0, so before the
for (code_col = 0; code_col < syms_per_code; code_col++)
loop, you can test whether
syms[((code - min_code) * syms_per_code)] == NoSymbol
and skip this key in this case.
I did not want to go this way because it is XFree86-centric, the other
solution is more generic.