Go Down

Topic: Problema Comunicazione leonardo (Read 543 times) previous topic - next topic

Marco_Mod

Salve a tutti, usando Leonardo ho creato un semplicissimo bottone che riproduce la barra spaziatrice della tastiera, testato e funzionante su 4 diversi pc, al 5 (quello importante) non va, il codice è questo:

Code: [Select]
const int buttonPin = 2;          // input pin for pushbutton
int previousButtonState = HIGH;   // for checking the state of a pushButton

void setup() {
  // make the pushButton pin an input:
  pinMode(buttonPin, INPUT);
  // initialize control over the keyboard:
  Keyboard.begin();
}

void loop() {
  // read the pushbutton:
  int buttonState = digitalRead(buttonPin);
  // if the button state has changed,
  if ((buttonState != previousButtonState)
    // and it's currently pressed:
  && (buttonState == HIGH)) {
    // type out a message
    Keyboard.press(32);
    delay(300);
    Keyboard.releaseALL();
    }
  // save the current button state for comparison next time:
  previousButtonState = buttonState;
}


l'unica differenza è che in quel pc non sono installate tastiere ed è presente uno schermo touchscreen, riesco a caricare il codice dall software di arduino collegato a quella macchina ma non succede nulla alla pressione del tasto, cosa potrebbe essere?

leo72

Manca il driver sul SO per cui l'invio di un tasto emulato semplicemente viene ignorato dal sistema perché non è capace di gestirlo.

Marco_Mod

e che driver manca? il caricamento viene effettuato senza problemi arduino è installato con i driver trovati nella cartella del software che funzionano su tutti gli altri pc... devo forzare un driver tastiera hid?

leo72

Secondo me manca il driver della tastiera.
La libreria della Leonardo emula una tastiera via software, ma se il driver della tastiera non è installato sul sistema che deve ricevere i dati, questi dati non possono essere interpretati. Tu stesso hai detto che l'unico computer dove non funziona lo sketch è un computer senza tastiera. Sarà un caso...

Marco_Mod

l'ho provato su un'eee top e stessa cosa, non va, stessa situazione niente tastiera e touchscreen, pero anche attaccando una tastiera usb la cosa non cambia... come posso risolvere?

Marco_Mod

ora ha smesso di funzionare praticamente, stasera provo a rifare il contatti con il bottone, forse era semplicemente quello anche se mi sembra molto strano, purtroppo è una cosa importante, DEVE funzionare  :smiley-sad-blue:

Go Up