/*
КОМАНДЫ SOLIDWORKS:
Сохранить.. Ctrl+S 0
Закрасить с кромками... Alt+I 1 //добавить в Solidworks Настройка... - Клавиатура
Поворачивает модель на 90º Shift + клавиши со стрелками 2
Невидимые линии... Alt+K 3 //добавить в Solidworks Настройка... - Клавиатура
Поворачивает модель на 90º Shift + клавиши со стрелками 4
Перпендикулярно Ctrl+8 5
Поворачивает модель на 90º Shift + клавиши со стрелками 6
Вырез - вытянуть Alt+E 7 //добавить в Solidworks Настройка... - Клавиатура
Поворачивает модель на 90º Shift + клавиши со стрелками 8
Бобышка - вытянуть Ctrl+E 9 //добавить в Solidworks Настройка... - Клавиатура
Отменить ввод.. Ctrl+Z 10
Повторить ввод.. Ctrl+Y 11
Ничего не делать 13
МЫШЬ
Функции
Mouse.click()
Mouse.move()
Mouse.press()
Mouse.release()
Кнопки мыши для функций click, press и release:
MOUSE_LEFT
MOUSE_RIGHT
MOUSE_MIDDLE
КЛАВИАТУРА
Для отправки "единичного" нажатия испольузем Keyboard.write
Для эмуляции одновременного нажатия нескольких клавиш используйте команду Keyboard.press().
Отпустить можно командой Keyboard.release(), также Keyboard.releaseAll() отпускает все нажатые
Список клавиш-модификаторов
KEY_LEFT_CTRL
KEY_LEFT_SHIFT
KEY_LEFT_ALT
KEY_LEFT_GUI
KEY_RIGHT_CTRL
KEY_RIGHT_SHIFT
KEY_RIGHT_ALT
KEY_RIGHT_GUI
KEY_UP_ARROW
KEY_DOWN_ARROW
KEY_LEFT_ARROW
KEY_RIGHT_ARROW
KEY_BACKSPACE
KEY_TAB
KEY_RETURN
KEY_ESC
KEY_INSERT
KEY_DELETE
KEY_PAGE_UP
KEY_PAGE_DOWN
KEY_HOME
KEY_END
KEY_CAPS_LOCK
KEY_F1
KEY_F2
KEY_F3
KEY_F4
KEY_F5
KEY_F6
KEY_F7
KEY_F8
KEY_F9
KEY_F10
KEY_F11
KEY_F12
*/
#include <Keyboard.h>
const int KEYBOARD = 0;
byte key()
{
int value = analogRead(KEYBOARD);
if (value > 480 && value < 499) return 11;
else if (value > 500 && value < 520) return 0;
else if (value > 530 && value < 550) return 10;
else if (value > 560 && value < 580) return 9;
else if (value > 590 && value < 610) return 8;
else if (value > 620 && value < 650) return 7;
else if (value > 670 && value < 690) return 6;
else if (value > 720 && value < 740) return 5;
else if (value > 780 && value < 800) return 4;
else if (value > 840 && value < 860) return 3;
else if (value > 920 && value < 940) return 2;
else if (value > 970 && value < 1024) return 1;
else return 13;
}
void setup() {
// put your setup code here, to run once:
pinMode(KEYBOARD, INPUT);
Serial.begin(9600);
Keyboard.begin();
delay(500);
}
void loop() {
// put your main code here, to run repeatedly:
// Serial.print("Key pressed - ");
// Serial.println(key());
switch (key())
{
case 0:
//Сохранить.. Ctrl+S 0
Keyboard.press(KEY_LEFT_CTRL);
delay(10);
Keyboard.write('s');
delay(10);
Keyboard.release(KEY_LEFT_CTRL);
Serial.println("Ctrl+S pressed");
break;
case 1:
//Закрасить с кромками... Alt+I 1
Keyboard.press(KEY_LEFT_ALT);
delay(10);
Keyboard.write('i');
delay(10);
Keyboard.release(KEY_LEFT_ALT);
Serial.println("Alt+I pressed");
break;
case 2:
//Поворачивает модель на 90º Shift + клавиши со стрелками 2
Keyboard.press(KEY_LEFT_SHIFT);
delay(10);
Keyboard.press(KEY_UP_ARROW);
delay(10);
Keyboard.releaseAll();
Serial.println("Shift + pressed");
break;
case 3:
//Невидимые линии... Alt+K 3
Keyboard.press(KEY_LEFT_ALT);
delay(10);
Keyboard.write('k');
delay(10);
Keyboard.release(KEY_LEFT_ALT);
Serial.println("Alt+K pressed");
break;
case 4:
//Поворачивает модель на 90º Shift + клавиши со стрелками 4
Keyboard.press(KEY_LEFT_SHIFT);
delay(10);
Keyboard.press(KEY_LEFT_ARROW);
delay(10);
Keyboard.releaseAll();
Serial.println("Shift + pressed");
break;
case 5:
//Перпендикулярно Ctrl+8 5
Keyboard.press(KEY_LEFT_CTRL);
delay(10);
Keyboard.write('8');
delay(10);
Keyboard.release(KEY_LEFT_CTRL);
Serial.println("Ctrl+8 pressed");
break;
case 6:
//Поворачивает модель на 90º Shift + клавиши со стрелками 6
Keyboard.press(KEY_LEFT_SHIFT);
delay(10);
Keyboard.press(KEY_RIGHT_ARROW);
delay(10);
Keyboard.releaseAll();
Serial.println("Shift + pressed");
break;
case 7:
//Вырез - вытянуть Alt+E 7
Keyboard.press(KEY_LEFT_ALT);
delay(10);
Keyboard.write('e');
delay(10);
Keyboard.release(KEY_LEFT_ALT);
Serial.println("Alt+E pressed");
break;
case 8:
//Поворачивает модель на 90º Shift + клавиши со стрелками 8
Keyboard.press(KEY_LEFT_SHIFT);
delay(10);
Keyboard.press(KEY_DOWN_ARROW);
delay(10);
Keyboard.releaseAll();
Serial.println("Shift + pressed");
break;
case 9:
//Бобышка - вытянуть Ctrl+E 9
Keyboard.press(KEY_LEFT_CTRL);
delay(10);
Keyboard.write('e');
delay(10);
Keyboard.release(KEY_LEFT_CTRL);
Serial.println("Ctrl+E pressed");
break;
case 10:
//Отменить ввод.. Ctrl+Z 10
Keyboard.press(KEY_LEFT_CTRL);
delay(10);
Keyboard.write('z');
delay(10);
Keyboard.release(KEY_LEFT_CTRL);
Serial.println("Ctrl+Z pressed");
break;
case 11:
//Повторить ввод.. Ctrl+Y 11
Keyboard.press(KEY_LEFT_CTRL);
delay(10);
Keyboard.write('y');
delay(10);
Keyboard.release(KEY_LEFT_CTRL);
Serial.println("Ctrl+Y pressed");
break;
case 13:
//Ничего не делать
break;
deafalt: Serial.println("Check the keyboard connection!");
}
delay(200);
}
Comments