Skip to content
Izzatbek Mukhanov edited this page Sep 26, 2016 · 3 revisions

Why to study transfer functions?

What is a pointing transfer function?

Default transfer functions

A pointing transfer function is the relationship between movements in pointing space and display space. Transfer functions are the only pointing facilitation technique actually used in modern graphical interfaces involving the indirect control of an on-screen cursor. In the case of simple linear relations, the term CD gain is commonly used to refer to the scale factor between the two spaces, e.g. CDgain = Vdisplay/Vcontrol

What can we do with them?

Pointing transfer functions can be considered as low-level and general-purpose mechanisms for pointing facilitation. Desktop systems dynamically adjust the CD gain based on movement speed. Libpointing was designed with several goals in mind.

  1. We wanted a way of directly accessing HID pointing devices to bypass the system’s transfer functions.
  2. We wanted to replicate as faithfully as possible the transfer functions of Windows, OS X and Xorg.
  3. We wanted the toolkit to run on these platforms to be able to compare our implementations to the genuine ones.
  4. We wanted to support comparisons between the replicated functions and other ones.

Ideally, the design of transfer functions may be improved towards the transfer function which takes into account device information and human capabilities, thus producing better performance in pointing tasks.

Currently used transfer functions

Windows pointing transfer functions

The following image shows the transfer functions used by Windows 7, 8 and 10. 11 different values correspond to 11 different values of the "pointer speed" slider

Windows transfer functions

Mac OS X pointing transfer functions

In Mac OS X (10.10.2) we can find the following transfer functions:

Mac OS X transfer functions

Logitech transfer functions

Logitech mice have their own transfer functions which can be used by installing Set Point software. To obtain them we used Echomouse. We set the "pointer speed" slider to be in the middle and disabled "enhance pointer precision" option in the Mouse settings of Windows.

Here is the interface to access Set Point Mouse speed and acceleration settings: Set Point transfer functions

For each of the Pointer accelerations we obtained transfer functions:

Set Point transfer functions Set Point transfer functions Set Point transfer functions Set Point transfer functions