Adafruit 羽毛 BLE 32U4

问题描述

在 arduino 上玩了一段时间了,但我对 bluefruit/蓝牙设备还很陌生。

我目前正在将 PS/2 ballmouse 从 PS2 转换为 USB/蓝牙。我的 USB 部分工作正常,我的鼠标点击在蓝牙上工作正常,但在我的生活中,我可以让我的鼠标移动在蓝牙上工作。有人可以帮忙吗??

请记住底部鼠标点击有效。只是不是运动。 data.position 类在连接到 USB 时工作正常

void controlWired(MouseData data) {
  // Mouve Mouse  
  Mouse.move(data.position.x,(data.position.y * -1),(data.wheel * -1));
  // Mouse Click
  (data.lClick) ? Mouse.press(MOUSE_LEFT) : Mouse.release(MOUSE_LEFT);
  (data.rClick) ? Mouse.press(MOUSE_RIGHT) : Mouse.release(MOUSE_RIGHT);
  (data.wClick) ? Mouse.press(MOUSE_MIDDLE) : Mouse.release(MOUSE_MIDDLE);
}

void controlBLE(MouseData data) {
  // Mouve Mouse  
  if (data.position.x != 0 or data.position.y != 0  or data.wheel != 0){
      //String mouvement = String(data.position.x) + "," + String((data.position.y * -1)) + "," + String((data.wheel * -1));
      ble.print(F("AT+BleHidMouseMove="));
      ble.print(data.position.x);
      ble.print(",");
      ble.print((data.position.y * -1));
      ble.print(",");
      ble.print((data.wheel * -1));
      ble.print(",0");
  }
  // Mouse Click
  (data.lClick) ? ble.sendCommandCheckOK(F("AT+BleHidMouseButton=L,press")) : ble.sendCommandCheckOK(F("AT+BleHidMouseButton=0"));
  (data.rClick) ? ble.sendCommandCheckOK(F("AT+BleHidMouseButton=R,press")) : ble.sendCommandCheckOK(F("AT+BleHidMouseButton=0"));
  (data.wClick) ? ble.sendCommandCheckOK(F("AT+BleHidMouseButton=C,press")) : ble.sendCommandCheckOK(F("AT+BleHidMouseButton=0"));
}

解决方法

没关系,找到我的问题 ble.print(",0");应该是 ble.println(",0");