Aide pour un clavier pc

bonjour j ai un pb sur un code

'imputSW' was not declared in this scope

Commence par ceci :

C'est vrai et il est dit:
Pas de double post, que ce soit dans un autre sous forum ou une autre langue. Si vous postez sur un autre forum la même question, mentionnez le.

je fais référence à cet post quasi identique

on va faire plus simple comment on se désinscrit de se forum

La par contre, il s'agit d'un sujet complètement différent, et cela vaut le coup d'ouvrir un nouveau fil de discussion. Une meilleure possibilité est de changer le titre. Mais cela nécessite peut-être la lecture des bonnes pratiques du forum

T'as raison.
L'usage d'un forum c'est vraiment trop rigide pour un gros rebelle comme toi.
Bon vent......

Par contre, tu vas rigoler, c'est encore plus compliqué de trouver comment se désincrire que d'appliquer les quelques recommandations que l'on te demandait d'appliquer.

Mais perd pas ton temps à te désinscrire. Dès demain ce topic n'apparaitra plus en première page et on t'aura oublié.

A mon avis, il y a probablement une erreur à la ligne 38 dans le code que tu n'as pas posté.

je l ai poster mais supprimer , vue que je cherche a me retirer de se site
et que sur d autre forum les gens sont la pour parler Arduino sur un post Arduino ( il doivent pas être normal ) mdr
non pas un gros rebelle mais qui n aime pas le forcing
oui je veut être désinscrit et sa aussi j ai pas le droit ?

merci , on ma déjà répondu ailleurs c est qu' il ne connait pas imputsw dans le programme du coup sa fait une erreur

imputsw ??
Si le code avait été publié correctement les réponses n'auraient pas tardé !!

#include <HID-Project.h>

#define inputCLK 1
#define inputDT 2
#define inputSW 3

int currentStateCLK;
int previousStateCLK; 
int mode = 1;
int maxMode = 4 ;

void setup() { 
  pinMode (inputCLK,INPUT);
  pinMode (inputDT,INPUT);
  pinMode(inputSW, INPUT_PULLUP);

  // Setup Serial Monitor
  Serial.begin (9600);
  Consumer.begin();
  Keyboard.begin();

  previousStateCLK = digitalRead(inputCLK);
} 

void loop() { 
  currentStateCLK = digitalRead(inputCLK);

  if (currentStateCLK != previousStateCLK){ 
    if (digitalRead(inputDT) != currentStateCLK) { 
      rotateRight();
    } else {
      rotateLeft();
    }
  } 
  previousStateCLK = currentStateCLK; 

  if(digitalRead(inputSW)){
    changeMode()
    delay(300);
  }
}
void changeMode(){
  mode = (mode % maxMode) +1;
}

void rotateRight() {
  switch(mode){
    case 1 :
     Consumer.write(MEDIA_VOLUME_UP);
     break;
    case 2 :
     Keyboard.press(KEY_LEFT_CTRL);
     Keyboard.press(KEY_TAB)
     Keyboard.releaseAll();
     break;
    case 3 :
     Keyboard.write(KEY_UP_ARROW);
     break;
    case 4 :
     Keyboard.write('[');
     break;
  }
  
    
}

void rotateLeft() {
 switch(mode){
    case 1 :
     Consumer.write(MEDIA_VOLUME_DOWN);
  break;
    case 2 :
     Keyboard.press(KEY_LEFT_CTRL);
     Keyboard.press(KEY_LEFT_SHIFT);
     Keyboard.press(KEY_TAB)
     Keyboard.releaseAll();
     break;
    case 3 :
     Keyboard.write(KEY_DOWN_ARROW);
     break;
    case 4 :
     Keyboard.write(']');
     break;
 }

exit status 1
expected ';' before 'delay'

Comme indiqué dans le message d'erreur, il manque un point virgule à la fin de la ligne précédant delay(300).
Je te suggère d'activer les messages détaillés dans les préférences (menu fichier/préférences)
Les messages d'erreurs seront plus complets en particulier tu auras le numéro de la ligne où l'erreur s'est produite.

Au passage, ce delay(300) va perturber la lecture du codeur incrémental lorsque le bouton sera actif. Toi seul peut savoir si c'est gênant dans le cadre de ton application.

je doit faire des motif pas encore reçus les encodeur rotatif pour tester si sa marche bien pour le volume , zoom , etc.

int maxMode = 4 ; je peut le changer en char ?
int mode = 1; je peut le changer en char ?
int maxMode = 4 ;je peut le changer en char ? avec plutôt max (mode,4); mais je devrais changer mode = (mode % maxMode) +1; mais en quoi
je doit rajouter les joystick mais je cherche un code qui marche bien et léger

Oui

Oui

Pas de changement pour cette ligne

Quel type de joystick potentiomètres ou switches (style arcade)?
Si tu as un lien vers le produit c'est encore mieux.

les appareil
une nano pour gérer les led

l écran c est pas encore sur

ou une carte uno avec ecran tactile

https://www.amazon.fr/COVVY-Tactile-daffichage-résistif-Bricolage/dp/B07TP22BH3/ref=sr_1_9?__mk_fr_FR=ÅMÅŽÕÑ&dchild=1&keywords=uno+arduino+tactile&qid=1627983708&sr=8-9

sa parait me faire gagner une place pour le bouton on off

Sabrent 4-Port USB 3.0 Hub avec des commutateurs et des voyants d'alimentation individuels (HB-UM43)

c est pour essayer de faire un truc de se genre

je voulait aussi connaitre la meilleur solution pour avoir plus de connexion , passer par plusieurs carte ou utiliser un microprocesseur type 74hc595 ou autre
sa serait sympas autour de l encodeur

faire aussi une petite bande led avec un attiny85 ou une nano

car je voudrait aussi crée un écran tactile pour quelque touche de raccourcit et je doit déjà modifier une analogique en rx a cause de l encodeur rotatif , car sinon je peut plus utiliser le module Bluetooth

#include <SoftwareSerial.h>

SoftwareSerial encodeur rotatif l(8) // juste pour rajouter une entrer rx ? ( je sais pas si c est possible ?)

  //interupteur
const int i = 16;
//bouton 3x4
const int e = A2;
const int s = A3;
  
  //joystick
const int x = A0;
const int y = A1;
//bouton joystick
const int bj1 = 15;
  //module h5
const int m1 = 0;
const int m2 = 1;

  //bouton
const int b1 = 9; // bouton interupteur pour course auto
const int b2 = 10; // roulade a gauche
const int b3 = 14; // roulade a droite
```il reste la sortie 4,5,6,7 ( faudrait que j inverse les bouton avec pour garder 
les pin pour des appareil qui peuvent être mis en réseau )
Not all pins on the Leonardo support change interrupts,
so only the following can be used for RX:
8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).

Les joysticks que tu as choisi sont analogiques donc

  • les sorties VRX et VRY doivent être raccordées sur des entrées analogiques de la Leonardo (A0 à A5)
  • SW sur une entrée digitale
  • GND et 5V sur les broches du même nom sur la Leonardo

Il n'y a pas de code particulier il suffit de faire des analogRead() pour récupérer la position des joystick.

Le hc595 est un registre à décalage il peut effectivement être utilisé pour augmenter le nombre de sorties.
Le mieux, serait de faire la liste de tous les signaux dont tu as besoin en indiquant si ce sont des entrées ou des sorties et leur type (analogique ou numérique) pour que l'on t'aide à optimiser l'allocation des signaux sur ta carte.

oui je suis en train de refaire les post pour que sa sois plus clair
je pense que le plus simple pour se projet serait de partir sur une micro pro avec une nano et uno ou me passer de la nano en mettant les led sur la uno mais les pin sont presque toute prise avec l écran tactile et je sais pas si c est possible de faire passer la mirco en maitre , et les 2 autre en esclave avec leur programme et juste lancer avec le maitre