Peter Hutterer
d90b5f8301
dix: fix up coordinate scaling when external monitors are present
...
The goal of all this is to get an x/y motion reflecting the motion
on the device, i.e. a circle on the device is a circle on the screen.
This is currently done by scaling the y coordinate depending on the screen
ratio vs device ratio. Depending on that ratio the movement on the y axis may
be accelerated (ratio < 1) or slowed (ratio > 1). This leads to the weird
effect that changing the screen ratio by plugging a new monitor changes the
speed of the touchpad.
Use a different algorithm: calculate the physical movement on the device, map
that to the same-ish distance on the screen, then convert that back into a
device-specific vector. This way we get the same mapping regardless of the
current screen dimensions.
Since the pointer accel code doesn't take device resolution into account, make
sure we apply our crazy mapping before we accelerate. This way we accelerate
resolution-independent.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2014-06-23 11:04:55 +10:00
..
.gitignore
dix and os: gitignore dix.O and os.O
2011-09-23 17:14:47 -07:00
atom.c
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
buildatoms
BuiltInAtoms
colormap.c
Replace 'pointer' type with 'void *'
2014-01-12 10:24:11 -08:00
cursor.c
Replace 'pointer' type with 'void *'
2014-01-12 10:24:11 -08:00
devices.c
dix: fix pixmap leak on server reset
2014-06-04 21:32:30 -07:00
dispatch.c
dix: fix a -Wshadow warning
2014-02-05 15:10:27 +10:00
dispatch.h
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
dixfonts.c
dixfonts: Turn a missing directory ErrorF into a DebugF
2014-04-21 15:01:02 -07:00
dixutils.c
glx: Move the GLX variable caching what GL context is current to dix.
2014-04-23 10:32:02 -07:00
enterleave.c
input: drop FP1616 macro
2012-11-19 12:12:23 +10:00
enterleave.h
dix: Move DeviceFocusEvent from Xi into enterleave.c
2012-05-17 08:50:44 +10:00
eventconvert.c
dix: send the current axis value in DeviceChangedEvents ( #62321 )
2013-05-07 09:40:42 +10:00
events.c
dix: reference the cursor just once in InitializeSprite()
2014-06-04 21:32:14 -07:00
extension.c
Clean up warnings in DIX
2014-01-12 10:14:49 -08:00
ffs.c
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
gc.c
dix: Allow NULL stipple in ChangeGC
2014-03-26 12:58:40 -07:00
getevents.c
dix: fix up coordinate scaling when external monitors are present
2014-06-23 11:04:55 +10:00
globals.c
Handle -displayfd and an explicit display number sensibly
2014-03-27 14:34:34 +00:00
glyphcurs.c
Replace 'pointer' type with 'void *'
2014-01-12 10:24:11 -08:00
grabs.c
Merge remote-tracking branch 'whot/for-keith'
2014-01-22 11:33:53 -08:00
initatoms.c
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
inpututils.c
dix: fix button state check before changing a button mapping
2014-02-05 07:50:16 +10:00
main.c
dix: Clear any existing selections before initializing privates
2014-03-06 17:15:11 -08:00
Makefile.am
Allow DDX to provide a main()
2013-07-23 23:56:58 +01:00
pixmap.c
Replace 'pointer' type with 'void *'
2014-01-12 10:24:11 -08:00
privates.c
Replace 'pointer' type with 'void *'
2014-01-12 10:24:11 -08:00
property.c
Replace 'pointer' type with 'void *'
2014-01-12 10:24:11 -08:00
protocol.txt
Add RANDR 1.4 requests & events to dix/protocol.txt
2014-01-29 15:22:44 -08:00
ptrveloc.c
dix: allow a ConstantDeceleration between 0 and 1 ( #66134 )
2013-07-17 14:27:26 +10:00
region.c
Add a RegionDuplicate function
2013-10-31 16:58:16 -07:00
registry.c
dix: reset the registry before quitting
2013-05-07 09:41:02 +10:00
resource.c
Replace 'pointer' type with 'void *'
2014-01-12 10:24:11 -08:00
selection.c
Use C99 designated initializers in dix Events
2012-07-09 22:52:30 -07:00
stubmain.c
Allow DDX to provide a main()
2013-07-23 23:56:58 +01:00
swaprep.c
Remove unneccesary casts from WriteToClient calls
2012-07-09 19:12:56 -07:00
swapreq.c
Use C99 designated initializers in dix Events
2012-07-09 22:52:30 -07:00
tables.c
Make indentation of dix/tables.c much more consistent and readable
2012-08-06 15:22:53 -07:00
touch.c
Replace 'pointer' type with 'void *'
2014-01-12 10:24:11 -08:00
window.c
Replace 'pointer' type with 'void *'
2014-01-12 10:24:11 -08:00
Xserver-dtrace.h.in
dix: add dtrace probes to input API
2012-03-22 11:33:42 +10:00
Xserver.d
dix: add dtrace probes to input API
2012-03-22 11:33:42 +10:00