On Mon, Sep 17, 2001 at 11:11:27AM +0200, Peder Stray wrote:
> Dominik Vogt <[EMAIL PROTECTED]> writes:
> 
> > I made the patch/fix (whatever one may call it) that changed this
> > behaviour because the same code broke handling of the function keys:
> > on some setups, F11 and Shift-F1 both generate the key symbol "F11".
> > Now consider you treat S = shift-s = s and thus F11 = shift-F1 = F1.
> > It's not possible to distinguish between both. The old code bound
> > the same action to the F11 key and the F1 key and thus removed any
> > previous binding on the F1 key. The fix was to imply the Shift
> > modifier in this situation - and that is responsible for your
> > problem. I can well imagine there are quite a few configs out there
> > that rely on upper case letters, but I don't know what to do about
> > it without breaking function key again.
> 
> well, lets see what xev says about it...
> 
> first we have S (with capslock):
> 
> S
> KeyRelease event, serial 13, synthetic NO, window 0x280000e,
>     root 0x25, subw 0x2800015, time 4284515974, (193,128), root:(704,747),
>     state 0x2, keycode 39 (keysym 0x53, S), same_screen YES,
>     XLookupString gives 1 characters:  "S"
> 
> then shift-s:
> 
> S
> KeyRelease event, serial 13, synthetic NO, window 0x280000e,
>     root 0x25, subw 0x2800015, time 4284546841, (173,144), root:(684,763),
>     state 0x1, keycode 39 (keysym 0x53, S), same_screen YES,
>     XLookupString gives 1 characters:  "S"
> 
> as you can see they differ in state. as a comparison normal lowercase
> s differ in keysym and state.
> 
> s
> KeyRelease event, serial 13, synthetic NO, window 0x280000e,
>     root 0x25, subw 0x2800015, time 4284556405, (244,150), root:(755,769),
>     state 0x0, keycode 39 (keysym 0x73, s), same_screen YES,
>     XLookupString gives 1 characters:  "s"
> 
> 
> Well then we look at F1, Shift-F1 and F11
> 
> OP
> KeyRelease event, serial 13, synthetic NO, window 0x280000e,
>     root 0x25, subw 0x2800015, time 4284568583, (204,117), root:(715,736),
>     state 0x0, keycode 67 (keysym 0xffbe, F1), same_screen YES,
>     XLookupString gives 0 characters:  ""
> 
> [23~
> KeyRelease event, serial 13, synthetic NO, window 0x280000e,
>     root 0x25, subw 0x2800015, time 4284579325, (180,123), root:(691,742),
>     state 0x1, keycode 67 (keysym 0xffbe, F1), same_screen YES,
>     XLookupString gives 0 characters:  ""
> 
> [23~
> KeyRelease event, serial 13, synthetic NO, window 0x280000e,
>     root 0x25, subw 0x2800015, time 4284588062, (253,154), root:(764,773),
>     state 0x0, keycode 95 (keysym 0xffc8, F11), same_screen YES,
>     XLookupString gives 0 characters:  ""
> 
> Shift-F1 and F11 differ both in state and keysym, but they return the
> same string...
> 
> so i really dont see how this could be a problem... and at least not
> why S should imply the shift modifier compared to s...

The problem is what the user expects:

  Key F11 A N Beep

Should this bind only the unmodified F11 key or shift-F1 too?  Due
too a lot of user complaints, fvwm binds both.  Actually, the fact
that the binding

  Key S ...

worked in the past is more or less a bug - although a convenient
one.  The keysym on the s key without modifiers is "s" not "S".
If it were "foobar" you'd certainly expect

  Key foobar ...

to only bind "shift-s", not "s" itself, but we are all used to
treat upper and lower case letters as equal - while X11 does not.

Anyway, I think I have a solution:  Whenever a key is bound, the
key name is always translated to lower case before checking if a
key with this name exists.  Only if it does not, the upper case
spelling is used.  This would take care of s/S or
odiaresis/Odiaresis, but will of course fail miserably if the two
symbols are bound to different keys.

Bye

Dominik ^_^  ^_^

-- 
Dominik Vogt, email: [EMAIL PROTECTED]
LifeBits Aktiengesellschaft, Albrechtstr. 9, D-72072 Tuebingen
fon: ++49 (0) 7071/7965-0, fax: ++49 (0) 7071/7965-20
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]

Reply via email to