Mouse.move()

Descrição

Move o cursor do mouse em um computador conectado. O movimento é sempre relativo a localização atual do cursor. Antes de usar Mouse.move() você deve chamar Mouse.begin()

Sintaxe

Mouse.move(xVal, yVal, wheel);

Parâmetros

  • xVal: quantidade de movimento no eixo x - signed char
  • yVal: quantidade de movimento no eixo x - signed char
  • wheel: quantidade de movimento na rodinha (scroll) - signed char

Retorna

Nada

Código de Exemplo

#include <Mouse.h> // Código originalmente em Inglês // Traduzido em Dezembro de 2017 const int xAxis = A1; // sensor analógico para o eixo x const int yAxis = A2; // sensor analógico para o eixo y int range = 12; // intervalo se sada do movimento em X ou Y int responseDelay = 2; // atraso de resposta do mouse, em ms int threshold = range / 4; // limiar de descanso int center = range / 2; // valor da poisção de descanso int minima[] = { 1023, 1023 }; // minima real de analogRead para {x, y} int maxima[] = { 0, 0 }; // maxima real de analogRead para {x, y} int axis[] = { xAxis, yAxis }; // número dos pinos para {x, y} int mouseReading[2]; // leituras finais do mouse para {x, y} void setup() { Mouse.begin(); } void loop() { // lê e escala os dois eixos: int xReading = readAxis(0); int yReading = readAxis(1); // move o mouse: Mouse.move(xReading, yReading, 0); delay(responseDelay); } /* Lê um eixo (0 ou 1 para x ou y) e escala o intervalo da entrada analógica para um intervalo entre 0 e <range> */ int readAxis(int axisNumber) { int distance = 0; // distância ao centro do intervalo de saída // lê a entrada nalógica: int reading = analogRead(axis[axisNumber]); // se a leitura atual excede o máximo ou mínimo para esse eixo, // reseta o máximo ou mínimo de acordo: if (reading < minima[axisNumber]) { minima[axisNumber] = reading; } if (reading > maxima[axisNumber]) { maxima[axisNumber] = reading; } // mapeia o intervalo da leitura da entrada analógica para o intervalo de saída: reading = map(reading, minima[axisNumber], maxima[axisNumber], 0, range); // se o valor se saída está fora do limiar de descanso, usa-o: if (abs(reading - center) > threshold) { distance = (reading - center); } // O eixo y precisa ser invertido para // mapear o movimento corretamente: if (axisNumber == 1) { distance = -distance; } // retorna a distância para o eixo especificado: return distance; }

※ Notas e Advertências:

Quando você usa a função Mouse.click(), o Arduino toma o controle do computador! Tenha certeza que você tem controle de quando as comanndos vão ser enviados antes de usar essa função. Pode ser difícil gravar um novo código no Arduino se ele estiver enviando cliques o tempo todo. Um botão para ativar/desativar o controle do mouse emulado é bastante efetivo.

Ver Também

Linguagem : Mouse.click()

Linguagem : Mouse.end()

Linguagem : Mouse.press()

Linguagem : Mouse.release()

Linguagem : Mouse.isPressed()

Please note: These are affiliate links. If you buy the components through these links, We may get a commission at no extra cost to you. We appreciate it.