Comment 123 for bug 296610

Revision history for this message
Dave (foceni) wrote :

Hello Sebastian, I had to give it a rest for a day and a half. I hope to start coding tomorrow.

If you don't mind, I'll be working on the vanilla .31 kernel source + your first 9p extension. It seems the cleanest and I have nice packet dumping integrated. :)

One extra thing I found, which caused desync was an unfinished impl of 9p. There's a check for 0's at 0x80 bit from byte 2-6. You had a note there that it's different for 9p (4 and 5 don't have 0's), but the check was unchanged! When I was experimenting with the 9p flag, I got desync when using the FIN, but only becase this test reported BAD_DATA to psmouse. :) I didn't notice it at first, but now it's fixed (testing 0's for 6p and 9p only in proper places) and I'm going for the 9p flag like a hungry hound! :) You can see from the 0 & 1 masks I posted which 0x80 bits remain 0's.

When that's finished, I'm definitely going to implement the state machine. We agreed the ALPS has only one set of button states and merging is the obvious easy way to fix it, but I really need independent behaviour. I believe keeping an internal buttons state and masking button events from the input layer will provide orthogonal equivalent of TWO independent mice. As you said, this works only for the CORE pointer, but in reality, that's exactly how the ALPS is going to be used. You can see all modern distros removed not only Input configuration from xorg.conf - everything is dynamic via HAL.

You are right, games or a proper xorg.conf (as was usual 2 years ago) would discover that button events are masked and the behaviour wouldn't be orthogonal, but let's be honest here - merging buttons wouldn't be either in this situation. What's more, Stick & Pad aren't going to be used like this. Their HW just doesn't support it, so we can merge or we can mask - either way it'll fix stuck buttons. I just prefer masking, because it can emulate 2 mice perfectly (under common X configs).

Do you agree? What about your latest patches? Did you find something new? Did you deal with the 9p flag vs. 3-buttons?