diff options
author | Peter Hutterer <peter@cs.unisa.edu.au> | 2008-05-23 12:51:52 +0930 |
---|---|---|
committer | Peter Hutterer <peter@cs.unisa.edu.au> | 2008-05-23 12:51:52 +0930 |
commit | fe59b1a62b2c7f467d20132db4913317bbf308eb (patch) | |
tree | 683b03b22081bfa05f14b28f63a8f4341d0d6e28 /include/inputstr.h | |
parent | 6c9e9f8a40e20fb1761440acd2755f5fd31f4d44 (diff) |
dix: more device scaling insanity.
Assuming master->last.valuators is in screen coords, SD's are always in device
coordinates.
1. If an event comes in, scale masters->last to the device, drop into device's
last->valuators.
2. Apply motion from the actual event
3. Scale back to screen coords, check if we may need to cross screens
4. Drop screen coords into master->last
5. Rescale to device coords, drop into deviceValuator event and SD->last
6. Drop screen coords into ev->root_x/y
Whoopee...
Diffstat (limited to 'include/inputstr.h')
-rw-r--r-- | include/inputstr.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/inputstr.h b/include/inputstr.h index d1cc44801..d26eb1377 100644 --- a/include/inputstr.h +++ b/include/inputstr.h @@ -422,6 +422,8 @@ typedef struct _DeviceIntRec { } u; /* last valuator values recorded, not posted to client; + * for slave devices, valuators is in device coordinates + * for master devices, valuators is in screen coordinates * see dix/getevents.c */ struct { int valuators[MAX_VALUATORS]; |