let clic = fun (poussoir_clic:int ref) (reglages:int array) (valeurs_clic:int array) ->
 poussoir_clic := ( succ !poussoir_clic ) mod ( succ ( Array.length valeurs_clic / 2 ) ) ;
 match !poussoir_clic with
 | 0 ->
  begin
   reglages.(Data.bouton_niveau_clic - Data.succ_nombre_de_curseurs) <- 0 ;
   aux Data.adresse_etat_clavier ( 128 + Data.bouton_niveau_clic ) 0 ;
   prerr_endline ( ( pourcent_cpu () ) ^ "arret du clic" ) ;
  end
 | x when x > 0 ->
  begin
   let i = ref ( 2 * ( pred x ) ) in
    reglages.(Data.bouton_niveau_clic - Data.succ_nombre_de_curseurs) <- valeurs_clic.(!i) ;
    aux Data.adresse_etat_clavier ( 128 + Data.bouton_niveau_clic ) valeurs_clic.(!i) ;
    incr i ;
    reglages.(Data.bouton_longueur_clic - Data.succ_nombre_de_curseurs) <- valeurs_clic.(!i) ;
    aux Data.adresse_etat_clavier ( 128 + Data.bouton_longueur_clic ) valeurs_clic.(!i) ;
    prerr_endline ( ( pourcent_cpu () ) ^ "clic " ^ ( string_of_int x ) ) ;
  end
 | _ -> ()