[xorg-bugzilla-noise] [Bug 587] Can't use the "Win" keys for PC104+ keyboards

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Sep 6 04:38:54 PDT 2004


Please do not reply to this email: if you want to comment on the bug, go to          
the URL shown below and enter yourcomments there.   
 
https://freedesktop.org/bugzilla/show_bug.cgi?id=587        
   




------- Additional Comments From pascal at tsu.ru  2004-09-06 04:38 -------
> Is anyone investigating this issue currently?

OK.
Some background explainations are written in
https://freedesktop.org/bugzilla/show_bug.cgi?id=926
Please, read them first.

Regarding this report ...
It is a case where toolkits can't map correctly modifier keysyms to modifiers
with our complex keymaps.  The Win keys set Mod4 well (it is visible in xev
output) and modifier mapping table provides needed information for
'modifier<->keysym' mapping (xmodmap shows it).

The Xlib's subroutine (non-public, unfortunately) _XKeysymToModifiers finds this
mapping correctly because it scans all keycodes of a modifier and all keysyms of
these keycodes.

(On the other hand there is a danger that it can tie unneeded modifiers to the
keysym.  But the 'fake keys' introducing was made exactly to prevent such
collisions.)

The corresponded routine in icewm firstly searches keycode with interesting
keysym, stops on the first occurrence and tries to find this keycode in the
'modifier to keycodes table'.  Since it doesn't come to fake keys it takes wrong
keycode and can't find it in the modifiers mapping table.

The libkdecore routine is better.  It firstly scans the modifier mapping table
and for each keycode there tries to find a modifier keysym.  But it takes the
first keysym only whereas fale keysyms have NoSymbol there and the modifier
keysym itself in the second column.  As a result it can't find the mapping too.

Of course, I don't consider these as bugs and I don't blame their developers. 
They made those routines according to common sense and couldn't foresee that the
keymap can become so complicated.

But the worse thing is that I can't imagine how to make the keymap that could
satisfy all those approaches and would be consistent internaly.

I can offer patches for icewm and libkdecore and I think the only way is to
unify somehow such routines (in differnt toolkits) that search the
keysym_to_modifier mapping.  At least it would garanty that we get the same
problem in all toolkits and could make needed changes in a keymap that would
solve the problem for all toolkits together.        
   
   
--         
Configure bugmail: https://freedesktop.org/bugzilla/userprefs.cgi?tab=email       
   
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


More information about the xorg-bugzilla-noise mailing list