get_pointer_attributes/[1,2]
     get_pointer_attributes(+AttributeList)
     get_pointer_attributes(+Screenable, +AttributeList)
     

Allows the user to find the state of the pointer.

Screenable is a ProXL Screenable. If omitted, the default Screen is used.

AttributeList is a List of pointer attributes, whose elements will be unified with the actual state of the pointer. Valid attributes are:


acceleration(A)
Unifies A with a term of the form N/D, where N and D are integers, the numerator and denominator of the pointer acceleration multiplier.
threshold(T)
Unifies T with the integer value of the pointer threshold parameter.
mapping(B1, B2, B3, B4, B5)
Unifies B1 to B5 with integers in the range 0 to 5, denoting the current mapping of physical pointer buttons to logical pointer buttons. The nominal mapping is Bi = i. A value of 0, means that the button is disabled.
root_position(X, Y)
Unifies X and Y with the current pointer coordinates, relative to the root window origin.
window(W, X, Y)
Unifies W with a ProXL window the pointer is inside of, and X and Y to the pointer coordinates, relative to the window's origin. If W is unbound, get_pointer_attributes will backtrack over all windows in the hierarchy that contain the pointer, except for the root window.
deepest(W, X, Y)
Unifies W with the innermost ProXL window the pointer is inside of, and X and Y to the pointer coordinates, relative to the window's origin.
state(B, M)
Unifies B with a term describing the state of the pointer buttons, and M with a term describing the state of the modifier keys. The predicates state_mask/2, buttons_mask/2 and modifiers_mask/2 are useful for translating between buttons and modifiers representations and bitmasks.