Index of values

alt [Useri.Key]
alt is true whenever an alt key is down.
any_down [Useri.Key]
any_down occurs whenever a key goes down.
any_holds [Useri.Key]
any_holds is true whenever any key is down.
any_up [Useri.Key]
any_up occurs whenever a key goes up.
average_finger_width [Useri.Human]
average_finger_width is, the average adult finger width.

backend [Useri.App]
backend is Useri's current backend.
backend_scheme [Useri.App]
backend_scheme is the Useri's current backend's scheme.

clipboard [Useri.Text]
clipboard is the clipboard's textual content (if any).
count [Useri.Time]
count ~until is a signal that counts time starting from 0. until the next occurence of until.
counter [Useri.Time]
counter () is a counter counting time from call time on.
counter_value [Useri.Time]
counter_value c is the current counter value in seconds.
cpu_count [Useri.App]
cpu_count is the number of CPU available.
create [Useri.Surface]
create hidpi pos size kind anchor mode () is a surface specification with: hidpi, if true (default) tries to get a high-dpi surface., pos, a hint to position the surface by using pos as the position of the top-left corner of the surface in its backend dependent display container. The coordinates of the top-left corner of the display container is (0,0) and coordinate increase in from top to bottom and left to right., size, the size of the surface in logical pixels. Consult the individual backend documentation for the default value., kind is the kind of surface., handle is a backend dependent surface handle. In certain backends allows to interface Useri with pre-existing surfaces., mode is the the surface mode.
ctrl [Useri.Key]
ctrl is true whenever a ctrl key is down.

default [Useri.Surface.Gl]
default is the default OpenGL surface specification.
did [Useri.Touch]
did t is a device identifier for the touch.
down [Useri.Key]
down id occurs whenever the key id goes down.
dpos [Useri.Touch]
dpos t occurs when the touch moves with the current touch position minus the previous one.
dpos [Useri.Mouse]
dpos occurs on mouse moves with current mouse position minus the previous position.

editing [Useri.Text]
editing may occur with (text, cpos, sel_len) before Useri.Text.input whenever text is being composited for example if multiple key strokes are needed in order to input a character.
elapsed [Useri.Time]
elapsed () is the number of seconds elapsed since the beginning of the program.
env [Useri.App]
env var ~default parse lookups var in the environment, parses it with parse and returns the result.
event_target [Useri_jsoo.Key]
source () is the event target used for keyboard events.

feel [Useri.Human]
feel () is a signal that varies according to user latency constants: [user_feel ()]t = `Interacting if t < User.interrupted., [user_feel ()]t = `Interrupted if t < User.left., [user_feel ()]t = `Left if t >= User.left.
file [Useri.Drop]
file occurs whenever a file is dropped on the application.

handle [Useri.Surface]
handle () is the application's surface backend dependent handle.
holds [Useri.Key]
holds id is true whenever the key id is down.

id [Useri.Touch]
id t is a unique identifier for the touch (FIXME across device identifiers ?)
init [Useri.App]
init name surface initialises an application named name (default derived from the executable name) with surface surface (defaults to a default Useri.Surface.create.)
input [Useri.Text]
input occurs whenever text is input by the user and the signal given to Useri.Text.set_input_enabled is true.
interrupted [Useri.Human]
interrupted is 1.s, the time span after which the user will feel interrupted and feedback from the system is needed.

key_capture [Useri_jsoo.Key]
key_capture () is the function that determines whether key events related to a key are captured by Useri (i.e prevent default action and stop propagation).

launch_context [Useri.App]
launch_context is the mechanism that started the program.
left [Useri.Human]
left is 10.s, the time span after which the user will switch to another task and feedback indicating when the system expects to respond is needed.
left [Useri.Mouse]
left is true whenever the left mouse button is down.
left_down [Useri.Mouse]
left_down has an occurence whenever the left mouse button goes down.
left_up [Useri.Mouse]
left_up has an occurence whenever the left mouse button goes up.

meta [Useri.Key]
meta is true whenever a meta key is down.
middle [Useri.Mouse]
middle is true whenever the middle mouse button is down.
middle_down [Useri.Mouse]
middle_down has an occurence whenever the middle mouse button goes down.
middle_up [Useri.Mouse]
middle_up has an occurence whenever the middle mouse button goes up.
mode [Useri.Surface]
mode is the application's surface mode.
mode_flip [Useri.Surface]
mode_flip e is an event which occur whenever e does with the opposite mode of Useri.Surface.mode's value.

noticed [Useri.Human]
noticed is 0.1s, the time span after which the user will notice a delay and feel that the system is not reacting instantaneously.

of_js [Useri_jsoo.Surface.Handle]
over [Useri.Touch]
over t occurs once whenever the touch ends either because the pressure stops (`Up) or because the touch is canceled (`Cancel, for example if the touch is captured by something else).

path [Useri.Drop.File]
path f is f's file system path.
platform [Useri.App]
platform is the name of the platform you are running on.
pos [Useri.Touch]
pos t is the current touch position of t.
pos [Useri.Mouse]
pos is the current mouse position.
pos [Useri.Surface]
pos is the position of the top-left corner of the surface in the surface's backend dependent display container.
pp_backend [Useri.App]
pp_backend ppf b prints an unspecified representation of c on ppf.
pp_backend_scheme [Useri.App]
pp_backend_scheme ppf bs prints and unspecified representation of bs on ppf.
pp_cpu_count [Useri.App]
pp_cpu_count ppf c prints an unspecified representation of c on ppf.
pp_id [Useri.Key]
pp_id ppf id prints an unspecified representation of id on ppf.
pp_launch_context [Useri.App]
pp_launch_context ppf c prints an unspecified representation of c on ppf.
pp_mode [Useri.Surface]
pp_mode ppf m prints an unspecified representation of m on ppf.
pp_ms [Useri.Time]
pp_ms ppf s prints s seconds in milliseconds.
pp_mus [Useri.Time]
pp_mus ppf s prints s seconds in microseconds.
pp_s [Useri.Time]
pp_s ppf s prints s seconds in seconds.
prefs_path [Useri.App]
TODO this should used the app name automatically.
prepare [Useri.Drop.File]
prepare f k prepares files f for reading, calling k f r whenever f is ready to be read from (e.g.
pressure [Useri.Touch]
pressure t is the pressure normalized from 0. to 1. (if available).

quit [Useri.App]
quit occurs whenever the user requested to quit.

raster_size [Useri.Surface]
raster_size is the application's surface underlying raster size.
refresh [Useri.Surface]
refresh occurs whenever the surface needs to be redrawn with the number of seconds since its last occurence or, for the first occurence, the number of seconds since the application start.
refresh_hz [Useri.Surface]
refresh_hz is the maximal hinted frequency in hertz for Useri.Surface.refresh occurences.
release [Useri.App]
release sinks () does the following: Makes the Useri.App.stop event occur., If sinks is true (default), calls Useri.App.release_sinks., Reclaims other resources
release_sinks [Useri.App]
Stops and release sink references.
request_refresh [Useri.Surface]
request_refresh () has the effect of making Useri.Surface.refresh occur some time after it was called.
request_sync_props [Useri_jsoo.Surface]
request_sync_props () asks to make sure that the application's surface Useri.Surface.pos, Useri.Surface.raster_size and Useri.Surface.size properties are in sync with the surface's element bounding box some time after it was called (can be called in a React step).
right [Useri.Mouse]
right is true whenever the right mouse button is down.
right_down [Useri.Mouse]
right_down has an occurence whenever the right mouse button goes down.
right_up [Useri.Mouse]
right_up has an occurence whenever the right mouse button goes up.
run [Useri.App]
run until depends on the backend scheme: `Sync invokes Useri.App.run_step repeatedly and blocks until the first occurence of until (defaults to Useri.App.quit). After returned it can be called again., `Async returns immediately, until is irrelevant.
run_step [Useri.App]
run_step () gather as much user input as possible and returns the maximal timespan after which Useri.App.run_step should be called again.

set_backend_logger [Useri.App]
set_backend_logger log sets log to be called by backends whenever non-fatal internal warnings and errors are generated.
set_clipboard_setter [Useri.Text]
set_clipboard_setter setter on occurences of setter sets the clipboard's textual content.
set_event_target [Useri_jsoo.Key]
set_event_target target sets the event target to target.
set_input_enabled [Useri.Text]
set_input_enabled enabled uses the signal enabled to determine whether Useri.Text.input and Useri.Text.editing events are enabled.
set_key_capture [Useri_jsoo.Key]
set_capture_key capture sets the function returned by Useri_jsoo.Key.key_capture.
set_mode_setter [Useri.Surface]
set_mode_setter me uses occurences of me to set, if possible, the current surface's application mode and the value of Useri.Surface.mode.
set_refresh_hz [Useri.Surface]
set_refresh_hz sets the value of Useri.Surface.refresh_hz.
set_refresher [Useri.Surface]
set_refresher r uses sets r to be used to generate an occurence of Useri.Surface.refresh some time after each occurence of r.
shift [Useri.Key]
shift is true whenever a shift key is down.
sink_event [Useri.App]
sink_event e keeps a reference on e until the app exits.
sink_signal [Useri.App]
sink_signal s keeps a reference on s until the app exits.
size [Useri.Surface]
size is the application's surface logical size.
size_mm [Useri_jsoo.Surface]
size_mm is the application's surface size in millimeters.
start [Useri.App]
start occurs the first time either Useri.App.run_step or is called.
start [Useri.Touch]
start occurs whenever touches do.
steady_refresh [Useri.Surface]
steady_refresh until makes Useri.Surface.refresh occur at the hinted frequency of Useri.Surface.refresh_hz hertz until until occurs.
stop [Useri.App]
stop occurs when Useri.App.release starts.

tick [Useri.Time]
tick span is an event that occurs once in span seconds with the value span - span' where span' is the actual delay performed by the system.
to_js [Useri_jsoo.Surface.Handle]
to_js [Useri_jsoo.Drop.File]
to_js f returns the underlying JavaScript file object.
touch_target_pad [Useri.Human]
touch_target_pad is, the minimum padding size in millimeters between two touch targets.
touch_target_size [Useri.Human]
touch_target_size is, the recommended touch target size in millimiters.
touch_target_size_min [Useri.Human]
touch_size_min is, the minimal touch target size in millimeters.

uchar [Useri.Key]
uchar c is a key identifier from c.
unit [Useri.Time]
unit ~span is a signal that linearly increases from 0. to 1. during span seconds.
up [Useri.Key]
up id occurs whenever the key id goes up.
update [Useri.Surface]
update () updates the rendering surface.