#include #include "Mouse.h" #include int main() { Mouse m; int address, level, DPI_level; int default_dpi = 3200; m.init(); do { m.listDevices(); std::cout << "Enter device address: "; std::cin >> address; }while(!m.selectDevice(address)); std::cout<<"Current backlight level: "<<(int)m.getBackLightLevel()<> level; }while(m.setBackLightLevel(level) < 0); uint8_t data[72] = {A4TECH_MAGIC, DPI_SET_OPCODE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1a,0x1a,0x88,0x02,0x00, }; do { std::cout << "Select DPI(100-4000):"; std::cin >> DPI_level; }while(DPI_level < 0 || DPI_level > 4000); switch(DPI_level){ case 100: printf("Setting it to 100, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 200: printf("Setting it to 200, boss\n"); memcpy(data + 10, (uint8_t[]){0x10, 0x10, 0x81}, 3); break; case 300: printf("Setting it to 300, boss\n"); memcpy(data + 10, (uint8_t[]){0x10, 0x10, 0x81}, 3); break; case 400: printf("Setting it to 400, boss\n"); //остановился здесь(3200 тоже прописал) memcpy(data + 10, (uint8_t[]){0x0d, 0x0d, 0x82}, 3); break; case 500: printf("Setting it to 500, boss\n"); memcpy(data + 10, (uint8_t[]){0x10, 0x10, 0x82}, 3); break; case 600: printf("Setting it to 600, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 700: printf("Setting it to 700, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 800: printf("Setting it to 800, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 900: printf("Setting it to 900, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 1000: printf("Setting it to 1000, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 1100: printf("Setting it to 1100, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 1200: printf("Setting it to 1200, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 1300: printf("Setting it to 1300, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 1400: printf("Setting it to 1400, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 1500: printf("Setting it to 1500, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 1600: printf("Setting it to 1600, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 1700: printf("Setting it to 1700, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 1800: printf("Setting it to 1800, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 1900: printf("Setting it to 1900, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 2000: printf("Setting it to 2000, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 2100: printf("Setting it to 2100, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 2200: printf("Setting it to 2200, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 2300: printf("Setting it to 2300, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 2400: printf("Setting it to 2400, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 2500: printf("Setting it to 2500, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 2600: printf("Setting it to 2600, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 2700: printf("Setting it to 2700, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 2800: printf("Setting it to 2800, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 2900: printf("Setting it to 2900, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 3000: printf("Setting it to 3000, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 3100: printf("Setting it to 3100, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 3200: printf("Setting it to 3200, boss\n"); memcpy(data + 10, (uint8_t[]){0x1a, 0x1a, 0x88}, 3); break; case 3300: printf("Setting it to 3300, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 3400: printf("Setting it to 3400, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 3500: printf("Setting it to 3500, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 3600: printf("Setting it to 3600, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 3700: printf("Setting it to 3700, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 3800: printf("Setting it to 3800, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 3900: printf("Setting it to 3900, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; case 4000: printf("Setting it to 4000, boss\n"); memcpy(data + 10, (uint8_t[]){0x07, 0x07, 0x81}, 3); break; default: printf("Setting it to %d, boss\n", default_dpi); break; } //uint8_t data[72] = {A4TECH_MAGIC, DPI_SET_OPCODE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1a,0x1a,0x88,0x02,0x00, }; int error = m.writeToMouse(data, sizeof(data)); printf("Code: %d\n", error); /*for(int x = 0; x<71; x++){ std::cout<<(int)data[x]<