Re: [PATCH 0/5] Sonypi driver model & PM changes

From: Stelian Pop
Date: Mon Oct 25 2004 - 16:52:27 EST


On Mon, Oct 25, 2004 at 05:11:22PM +0200, Vojtech Pavlik wrote:

> > > I believe that although this way may be easier, it leads to madness.
> >
> > It is also impossible for me to go this way because there is no way
> > to put 20+ events between 226 and 240...
>
> You could fix X to use either medium raw mode on the console or the
> event protocol. Medium raw has a limit of 2^14 and event protocol is
> limited by 2^16.

Well, letting X get the events directly on /dev/input/event* is clearly
the way to go, for a long term solution.

However, I would like a short term solution, available now, so users
of sonypi could just migrate towards the new way without having to
compile their own version of the X server...

> > That's what I thought too. However, it seems to work only when the
> > keysym associated with the modifier is a well known key (Control_L,
> > Control_R, Alt_L etc).
> >
> > If I do (214 is the keycode generated by my Fn key):
> > keycode 214 = Control_L
> > clear mod3
> > add mod3 = Control_L
> > then Fn + F1 will generate Mod3 + F1 (but Control_L will not work as
> > a Control modifier anymore).
> >
> > But if I do:
> > keycode 214 = function
> > clear mod3
> > add mod3 = function
> > then (at least) WindowMaker does not see the modifier anymore (only
> > a 'function' single key press is received).
>
> Does the same happen in 'xev'?

xev doesn't say anything about modifiers. It shows the modifier being
pressed, the other key pressed, then released, then the modifier being
released too.

The trace shows the same kind of events in a working Control case or
in a not working 'function' case:

KeyPress event, serial 24, synthetic NO, window 0x2a00001,
root 0x40, subw 0x2a00002, time 6566259, (37,47), root:(542,70),
state 0x0, keycode 214 (keysym 0x8f6, function), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False

KeyPress event, serial 24, synthetic NO, window 0x2a00001,
root 0x40, subw 0x2a00002, time 6566259, (37,47), root:(542,70),
state 0x20, keycode 67 (keysym 0xffbe, F1), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False

KeyRelease event, serial 24, synthetic NO, window 0x2a00001,
root 0x40, subw 0x2a00002, time 6566259, (37,47), root:(542,70),
state 0x20, keycode 67 (keysym 0xffbe, F1), same_screen YES,
XLookupString gives 0 bytes:

KeyRelease event, serial 24, synthetic NO, window 0x2a00001,
root 0x40, subw 0x2a00002, time 6566259, (37,47), root:(542,70),
state 0x20, keycode 214 (keysym 0x8f6, function), same_screen YES,
XLookupString gives 0 bytes:

Stelian.
--
Stelian Pop <stelian@xxxxxxxxxx>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/