sensekey
Précédent | Opcodes et opérateurs de l'orchestre | Suivant

## sensekey

sensekey — Retourne le code ASCII d'une touche enfoncée.

## Description

Retourne le code ASCII d'une touche enfoncée ou -1 si aucune touche n'a été enfoncée.

## Syntaxe

    kres[, kkeydown] sensekey

## Exécution

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.

## Exemples

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

Exemple 939. 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>

## Crédits

Auteur : John ffitch
Université de Bath, Codemist. Ltd.
Bath, UK
Octobre 2000

Exemples écrits par Kevin Conder, Johnathan Murphy et Istvan Varga.

Nouveau dans la version 4.09 de Csound. Renommé dans la version 4.10 de Csound.

Précédent | Niveau supérieur | Suivant
sense | Sommaire | serialBegin