Эмуляция русской USB клавиатуры на Arduino Leonardo ( keyboard library )

mischaka
mischaka аватар
Offline
Зарегистрирован: 04.02.2018

Здравствуйте,

Я дописал библиотеку arduino keyboard library (Keyboard.h) для ATmega32U4 Leonardo, Arduino Pro Micro.  
Теперь эта библиотека позволяет выводить кириллицу , так как если бы у вас была подключена русская клавиатура.

Также это библиотека позволяет эмулировать раскладки других языков.  Пока поддерживается следующии языки: немецкий, английский, французский, грузинский, греческий, итальянский, русский, иврит.

В принципе можно создавать файлы раскладок для любых языков.

При установке библиотеки поставляются также примеры. Пример вывода кириллицей находится в  папке KeyboardRussian.

Если что-то не работает, или у вас есть предложения по улучшению, то Я буду рад любой конструктивной критике.

https://github.com/MichaelDworkin/KeyboardMultiLanguage

 

sadman41
Онлайн
Зарегистрирован: 19.10.2016

Для чего во write() происходит выход по \r? Это ломает логику функции.

mischaka
mischaka аватар
Offline
Зарегистрирован: 04.02.2018

Действительно какой-то бредовой код.
За основу была взята Arduino Keyboard библиотека.  Так вот, это та часть, до который я не дотрагивался.  Как я понимаю по какой-то причине из буфера изымаются знаки Carriage Return.

sadman41
Онлайн
Зарегистрирован: 19.10.2016

А, точно. Я не сильно успел подумать. break происходит, если press() закончился неудачей - не найден символ в таблице и т.п. Но зачем, действительно, изымаются CR?.. 

Xumuk
Xumuk аватар
Offline
Зарегистрирован: 03.03.2016

искал в интернете но так и  не нашел схему подключения кнопок для данных библиотек... например я хочу сделать клавиатуру там же нужно подключать матричным способом, но этого никто не выкладывает... типо вот библиотека клавиатуры  на стандартные 104 кнопки и вот к ней схема по которой все должно работать из коробки...Но почему-то никто такое не выкладывает За старания вам спасибо!

mischaka
mischaka аватар
Offline
Зарегистрирован: 04.02.2018

Проблемы заключается в том что Вы ищете уже готовые библиотеку под определённую электронику . А такое никто не делает . Библиотеке как правило гибкие  и универсальные. Нужно найти отдельную библиотеку считывающую матричную клавиатуру и найти отдельную библиотеку симулирую компьютерную клавиатуру. А потом самому запрограммировать Какой значок показывается при нажатии какой клавиши. Матричная библиотека будет выдавать как результат номер кнопки. Вам нужно создать таблицу Где в соответствии с номером кнопки будет генерироваться ascii значок который будет уже посылатcя в библиотеку USB клавиатуры.

Вот кстати моя поделка
В ней используются резистивная сенсорная панель вместо кнопок

http://esp8266-server.de/keypadRU.html

Xumuk
Xumuk аватар
Offline
Зарегистрирован: 03.03.2016

ну на мой взгляд логично же, что данную библиотеку и создавали для создания клавиатуры... так почему же не сделать пример данной клавиатуры в примерах библиотеки. как например сделано в примерах blink  и т д