sensekey — Retourne le code ASCII d'une touche enfoncée.
kres - retourne la valeur ASCII d'une touche qui a été enfoncée ou relachée.
kkeydown - retourne 1 si la touche a été enfoncée, 0 si elle a été relachée ou s'il n'y a pas d'évènement de touche.
On peut utiliser kres pour lire les évènements clavier de stdin. Il retourne la valeur ASCII de toute touche qui a été enfoncée ou relachée, ou -1 s'il n'y a eu aucune activité clavier. La valeur de kkeydown est 1 si une touche a été enfoncée, 0 sinon. Ce comportement est suivi par défaut, si bien qu'un relachement de touche est généré immédiatement après chaque pression de touche. Pour une fonctionnalité complète, on peut utiliser FLTK pour capturer les évènements clavier. FLpanel peut être utilisé pour capturer les évènements clavier et les envoyer à l'opcode sensekey en ajoutant un argument supplémentaire facultatif. Voir FLpanel pour plus d'information.
Note | |
---|---|
Cet opcode peut également s'écrire sense. |
Voici un exemple de l'opcode sensekey. Il utilise le fichier sensekey.csd.
Exemple 949. Exemple de l'opcode sensekey.
Voir les sections Audio en Temps Réel et Options de la Ligne de Commande pour plus d'information sur l'utilisation des options de la ligne de commande.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -odac -d ;;;realtime audio out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too </CsOptions> <CsInstruments> ; By Stefano Cucchi - 2020 ; Initialize the global variables. sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 ; Instr 1 trigger instr 2: every time you press any key, instr 2 produce a note. ; The pitch of the tone produced by instr 2 is equal to the ASCII code of the key pressed. gkNumber, gkPress sensekey if changed(gkPress) == 1 then if (gkPress == 1) then event "i", 2, 0, 0.3 endif endif endin instr 2 iCps init i(gkNumber) print iCps asig oscili 0.2, iCps, 1 kenvelope linseg 0, 0.1, 1, 0.1, 1, 0.1, 0 outs asig*kenvelope, asig*kenvelope endin </CsInstruments> <CsScore> f 1 0 4096 10 1 1 0.3 0 0.2 0.3 0.5 i 1 0 2000 e </CsScore> </CsoundSynthesizer>