Module interface:pointer - Pointer device interface
Pointer device interface. The CT.POINTER channel-type provides a generic method for interacting with pointer devices.
Index
-
Channel type
CT.POINTER- Generic pointer channel-type-
Variable
events!- Pointer events -
Variable
in?- Commands sent to pointer device -
Variable
out!- Command responses from pointer device -
Variable
replace?- Used internally for 'tapping' pointer events -
Variable
return?- Return client channel-end to close
-
Variable
-
Protocol
P.POINTER.EVENT- Pointer event protocol-
Tag
abs.xy- Absolute pointer position -
Tag
button.down- Pointer button press -
Tag
button.up- Pointer button release
-
Tag
-
Protocol
P.POINTER.IN- Pointer input protocol-
Tag
get.dimensions- Gets the pointer space dimensions -
Tag
ioctl- IO control for pointers -
Tag
set.dimensions- Sets the dimensions of the pointer space
-
Tag
-
Protocol
P.POINTER.OUT- Pointer output protocol-
Tag
dimensions- Dimensions result from get.dimensions -
Tag
result- General result from ioctl request
-
Tag
-
Group
PSTATE- Pointer state bits-
Constant
PSTATE.BUTTONMASK- Button state mask (after shift) -
Constant
PSTATE.BUTTONSHIFT- Button state shift -
Constant
PSTATE.CTRL- Either control key -
Constant
PSTATE.LCTRL- Left control key -
Constant
PSTATE.LMETA- Left meta key -
Constant
PSTATE.LSHIFT- Left shift key -
Constant
PSTATE.META- Either meta key -
Constant
PSTATE.MODMASK- Modifier state mask (after shift) -
Constant
PSTATE.MODSHIFT- Modifier state shift -
Constant
PSTATE.RCTRL- Right control key -
Constant
PSTATE.RMETA- Right meta key -
Constant
PSTATE.RSHIFT- Right shift key -
Constant
PSTATE.SHIFT- Either shift key
-
Constant
Declarations
pointer_if.inc:33Group PSTATE
Pointer state bits. This is used to indicate state in a pointer device, including what buttons are depressed, and (if any) what keyboard modifiers are active. Room for other modifiers incase we want to get creative later (e.g. RFID tagging, etc.).
State is indicated by a 32-bit INT, supporting 16 buttons in the low-order bits, and up to 16 modifiers above (9 used for keyboard modifiers currently, top 7 bits are currently reserved for user/application modifiers.
pointer_if.inc:44Constant PSTATE.BUTTONSHIFT
VAL INT PSTATE.BUTTONSHIFT
Button state shift.
pointer_if.inc:45Constant PSTATE.BUTTONMASK
VAL INT PSTATE.BUTTONMASK
Button state mask (after shift).
pointer_if.inc:47Constant PSTATE.LSHIFT
VAL INT PSTATE.LSHIFT
Left shift key.
pointer_if.inc:48Constant PSTATE.RSHIFT
VAL INT PSTATE.RSHIFT
Right shift key.
pointer_if.inc:49Constant PSTATE.SHIFT
VAL INT PSTATE.SHIFT
Either shift key.
pointer_if.inc:50Constant PSTATE.LCTRL
VAL INT PSTATE.LCTRL
Left control key.
pointer_if.inc:51Constant PSTATE.RCTRL
VAL INT PSTATE.RCTRL
Right control key.
pointer_if.inc:52Constant PSTATE.CTRL
VAL INT PSTATE.CTRL
Either control key.
pointer_if.inc:53Constant PSTATE.LMETA
VAL INT PSTATE.LMETA
Left meta key.
pointer_if.inc:54Constant PSTATE.RMETA
VAL INT PSTATE.RMETA
Right meta key.
pointer_if.inc:55Constant PSTATE.META
VAL INT PSTATE.META
Either meta key.
pointer_if.inc:57Constant PSTATE.MODSHIFT
VAL INT PSTATE.MODSHIFT
Modifier state shift.
pointer_if.inc:58Constant PSTATE.MODMASK
VAL INT PSTATE.MODMASK
Modifier state mask (after shift).
pointer_if.inc:62Protocol P.POINTER.IN
PROTOCOL P.POINTER.IN
Pointer input protocol.
pointer_if.inc:66Tag set.dimensions
set.dimensions; [4]INT
Sets the dimensions of the pointer space.
Parameters:
[4]INT |
dim |
Dimensions as array of x-min,y-min,x-max,y-max
|
pointer_if.inc:68Tag get.dimensions
get.dimensions
Gets the pointer space dimensions.
pointer_if.inc:71Tag ioctl
ioctl; INT; INT
IO control for pointers.
Parameters:
INT |
ictl, ival
|
IOCTL number and argument. |
pointer_if.inc:75Protocol P.POINTER.OUT
PROTOCOL P.POINTER.OUT
Pointer output protocol.
pointer_if.inc:79Tag result
result; INT
General result from ioctl request.
Parameters:
INT |
val |
Result value or error. |
pointer_if.inc:82Tag dimensions
dimensions; [4]INT
Dimensions result from get.dimensions.
Parameters:
[4]INT |
dim |
Dimensions, as array of x-min,y-min,x-max,y-max
|
pointer_if.inc:86Protocol P.POINTER.EVENT
PROTOCOL P.POINTER.EVENT
Pointer event protocol.
pointer_if.inc:90Tag abs.xy
abs.xy; INT; INT
Absolute pointer position.
Parameters:
INT |
x, y
|
Position. |
pointer_if.inc:100Channel type CT.POINTER
RECURSIVE CHAN TYPE CT.POINTER
Generic pointer channel-type.
pointer_if.inc:103Variable in?
CHAN P.POINTER.IN
Commands sent to pointer device.
pointer_if.inc:105Variable out!
CHAN P.POINTER.OUT
Command responses from pointer device.
pointer_if.inc:107Variable events!
CHAN P.POINTER.EVENT
Pointer events.
pointer_if.inc:109Variable return?
CHAN CT.POINTER!
Return client channel-end to close.
pointer_if.inc:111Variable replace?
CHAN CT.POINTER?
Used internally for 'tapping' pointer events.