A UGen that detects a specific keyboard stroke. When the given key is not
pressed, the lo
value is output, while the key is pressed the hi
value is
output. If lag
is greater than zero, a Lag
-type operation is applied for a
smoother transition between lo
and hi
.
===Examples===
// determine codes
play {
val code = Phasor.kr(lo = 0, hi = 127)
val k = KeyState.kr(code, lag = 0)
val x = Gate.kr(code, k)
val ch = x sig_!= Delay1.kr(x)
// when a code change is detected, print it
x.poll(ch, "code")
()
}
// gate sound using the 'A' key
play {
// on Linux, key-code 38 denotes the 'A' key
SinOsc.ar(800) * KeyState.kr(38, 0, 0.1)
}
- See also
- Companion
- class
Type members
Value members
Concrete methods
- Value Params
- hi
value output when the currently pressed does match the code
- keyCode
hardware code for the key to monitor. This is likely platform dependent. For example, on Linux, key-codes 24 to 29 correspond to 'Q', 'W', 'E', 'R', 'T', 'Y'.
- lag
60 dB lag time in seconds.
- lo
value output when the currently pressed does not match the code