FLkeyIn

FLkeyIn — Retourne les touches enfoncées (sur le clavier alphanumérique) quand un panneau FLTK est actif.

Description

Opcode du greffon widgets. Ce greffon se trouve dans le répertoire des greffons et il doit être installé séparément. Les widgets FLTK ne fonctionnent pas sur Mac. Le répertoire des greffons est ici : https://github.com/csound/plugins

FLkeyIn nous informe sur l'état d'une touche enfoncée par l'utilisateur sur le clavier alphanumérique quand un panneau FLTK est actif.

Syntaxe

kascii FLkeyIn [ifn]

Initialisation

ifn – (facultatif, zéro par défaut) fixe le comportement de FLkeyIn (voir ci-dessous).

Exécution

kascii - la valeur ASCII de la dernière touche enfoncée. Si la touche est enfoncée, la valeur est positive alors que si la touche est relachée la valeur est négative.

FLkeyIn est utile pour savoir si une touche a été enfoncée sur le clavier de l'ordinateur. Le comportement de cet opcode dépend de l'argument facultatif ifn.

Si ifn = 0 (par défaut), FLkeyIn retourne le code ASCII de la dernière touche enfoncée. Si c'est une touche spéciale (ctrl, maj, alt, f1-f12, etc.), une valeur de 256 est ajoutée à la valeur retournée afin de la distinguer des touches normales. La sortie continuera à retourner la valeur de la dernière touche jusqu'à ce qu'une nouvelle touche soit enfoncée ou relachée. Noter que la sortie sera négative lorsqu'un touche est relachée.

Si ifn contient le numéro d'une table déjà allouée ayant au moins 512 éléments, l'élément de la table d'indice égal au code ASCII de la touche enfoncée est fixé à 1, tous les autres éléments de la table étant fixés à 0. Cela permet de tester l'état d'une touche particulière ou d'un ensemble de touches.

Noter qu'il faut que le paramètre ikbdcapture du FLpanel concerné doit être différent de 0 pour que FLkeyIn capture les évènements de clavier provenant de ce panneau.

[Note] Note

Comme FLkeyIn travaille en interne au taux-k, on ne peut pas l'utiliser dans l'en-tête comme les autres opcodes FLTK. On doit l'utiliser dans un instrument.

Exemples

Voici un exemple de l'opcode FLkeyIn. Il utilise le fichier FLkeyIn.csd.

Exemple 316. Exemple de l'opcode FLkeyIn.

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
; Audio out   Audio in    No messages
-odac           -iadc     -d     ;;;RT audio I/O
</CsOptions>
<CsInstruments>

sr=44100
ksmps=128
nchnls=2

;Example by Andres Cabrera 2007

FLpanel "FLkeyIn", 400, 300, -1, -1, 5, 1, 1
FLpanelEnd

FLrun

0dbfs = 1

instr 1
kascii   FLkeyIn
ktrig changed kascii
if (kascii > 0) then
  printf "Key Down: %i\n", ktrig, kascii
else
  printf "Key Up: %i\n", ktrig, -kascii
endif
endin

</CsInstruments>
<CsScore>
i 1 0 120
e

</CsScore>
</CsoundSynthesizer>


Crédits

Auteur : Gabriel Maldonado

Nouveau dans la version 5.06