Arduino:Примеры/PS2Keyboard International

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Версия для печати больше не поддерживается и может содержать ошибки обработки. Обновите закладки браузера и используйте вместо этого функцию печати браузера по умолчанию.

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Работа с разными клавиатурными раскладками[1]

Этот пример показывает, как использовать библиотеку PS2Keyboard с разными клавиатурными раскладками – американской, немецкой и французской (по умолчанию выставлена немецкая). Он запускает библиотеку PS2Keyboard и отображает введенные данные в мониторе порта IDE Arduino.

Код

/*  Скетч для библиотеки PS2Keyboard, работа с разными клавиатурными
    раскладками
    http://www.pjrc.com/teensy/td_libs_PS2Keyboard.html
    
    Функция keyboard.begin() содержит опциональный третий параметр, 
    в котором указывается тип клавиатурной раскладки. Раскомментируйте
    строчку, соответствующую вашей клавиатуре. Если в скетче нет 
    клавиатуры для вашего языка, вы можете создать ее самостоятельно 
    в S2Keyboard.cpp, а затем отправить на paul@pjrc.com, чтобы я мог 
    включить ее в будущие версии библиотеки.
*/
   
  // подключаем библиотеку PS2Keyboard:
#include <PS2Keyboard.h>

  // задаем контакты для тактового сигнала и передачи данных:
const int DataPin = 8;
const int IRQpin =  5;

  // создаем экземпляр класса PS2Keyboard:
PS2Keyboard keyboard;

  // инициируем библиотеку, в третьем параметре указывая нужную раскладку:
void setup() {
  //keyboard.begin(DataPin, IRQpin, PS2Keymap_US);
  keyboard.begin(DataPin, IRQpin, PS2Keymap_German);
  //keyboard.begin(DataPin, IRQpin, PS2Keymap_French);
  Serial.begin(9600);
  Serial.println("International Keyboard Test:");  //  "Пример работы с разными клавиатурными раскладками" 
}

  // в этом блоке считываем нажатия на клавиши и показываем введенные 
  // символы в мониторе порта IDE Arduino:
void loop() {
  if (keyboard.available()) {
    char c = keyboard.read();
    Serial.print(c);
  }
}

См.также

Внешние ссылки