nyptus icon

SolidKeys_v_1_0

nyptus | PRO | 08/27/19 09:23:17 AM UTC | 0 ⭐ | 488 👁️ | Never ⏰ | []
Arduino |

7.29 KB

|

None

|

0 👍

/

0 👎

/*
  КОМАНДЫ 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