key_press and key_release EventsThe fields that can be unified in key_press and
key_release events are:
type(T) unifies T with key_press or key_release according
to the event.
serial(S) unifies S with the serial number of the last request
processed by the server.
send_event(B) unifies B, a boolean value, with one of
true
false
display(D) unifies D with the ProXL Display the event was read from.
window(W) unifies W with the ProXL Window that receives the event.
root(R) unifies R with the root Window that the event occurred
under.
subwindow(S) unifies S with the child ProXL window where the event
occurred or none if the event occurred in the window itself.
time(T) unifies T with the server time, in milliseconds, when
the event occurred.
x(X) unifies X with the x pointer coordinate, relative to
the window origin, if the receiving window is on the same screen as the
root window. Otherwise it is 0.
y(Y) unifies Y with the y pointer coordinate, relative to the
window origin, if the receiving window is on the same screen as the root
window. Otherwise it is 0.
position(X, Y) unifies X and Y with the x and y pointer
coordinates, respectively, relative to the window origin,
if the receiving window is on the same screen as the root window.
Otherwise they are 0.
x_root(X) unifies X with the x pointer coordinate, relative to the
root window origin, if the receiving window is on the same screen as the
root window, otherwise with 0.
y_root(Y) unifies Y with the y pointer coordinate, relative to the
root window origin, if the receiving window is on the same screen as the
root window, otherwise with 0.
root_position(X, Y) unifies X and Y with the pointer
x and y coordinates, respectively, relative to the root window origin,
if the receiving window is on the same screen as the root window.
Otherwise they are both 0.
state(Buttons, Modifiers) unifies Buttons with a term of
the form:
buttons(B1, B2, B3, B4, B5)
where each argument of the term is unified with the state of the
corresponding pointer button just before the event, and has the value up
or down.
Unifies Modifiers with a term of the form:
modifiers(Shift, Control, Lock,
Mod1, Mod2, Mod3, Mod4, Mod5)
where each argument of the term is unified with the state of the
corresponding modifier key just before the event, and has the value
up or down.
keycode(K) unifies K with the server-dependent
integer keycode associated with the physical key.
keysym(K) unifies K with the server-independent keysym
associated with the physical key.
chars(C) unifies C with the list of ASCII
characters associated with the physical key, if there is one, or the
empty list, if there isn't one.
length(L) unifies L with the length of the ASCII string
associated with the physical key.
same_screen(B) unifies B, a boolean value, with one of
true
false