Skip to content

lovyan03/M5Stack_OnScreenKeyboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

M5Stack OnScreenKeyboard library. (for ASCII code)

Add Keyboard for your M5Stack project.

あなたのM5Stackプロジェクトにキーボードを!

Description

OnScreenKeyboard which can be operated with 3 button.

M5Stack本体の3ボタンで操作できるオンスクリーンキーボード。
簡単な文字入力にお使いいただけます。

Support FACES Keyboard and GameBoy and Encoder unit.
Support PLUS Encoder unit.
Support JoyStick unit.
Support CardKB unit.
Support morse code input.

M5Stackの各種ユニットでの操作にも対応。 A+C 2ボタン同時押しでモールス入力モードに切替可能。

image

Common operation:
BtnA click : キーボードパネル切替 Keyboard panel switches.
BtnA and B hold and BtnC click : 全消去 Clear all strings.
BtnA hold and BtnC click : モールス入力/フォーカス入力 モード切替 Switch between Morse code mode and focus selection mode.

in focus mode:
BtnA hold : 左(上)に移動 The focus moves to the left (or up).
BtnB click(or hold) : 選択決定、行/列選択切替 The focused target is entered. Then switch the row/column selection.
BtnC click(or hold) : 右(下)に移動 The focus moves to the right (or down).
BtnA hold and BtnB click : 入力完了(または列選択に戻る) Finish keyboard input. (or back to column selection.)

image
in morse code mode:
BtnB click : モールス短音入力 Input a short pulse.
BtnC click : モールス長音入力 Input a long pulse.
Release BtnB and C for 700 msec : 入力確定 Fix input.
BtnA hold and BtnB click : 入力完了 Finish keyboard input.

Morse code is GBoard morse compliant.
GBoard morse code list

Usage

#include <M5OnScreenKeyboard.h>

M5OnScreenKeyboard m5osk;

  m5osk.useFACES = true;       // FACES unit support.
  m5osk.useCardKB = true;      // CARDKB unit support.
  m5osk.useJoyStick = true;    // JoyStick unit support.
  m5osk.usePLUSEncoder = true; // PLUS Encoder unit support.
  m5osk.useFACESEncoder = true;// FACES Encoder unit support.
  // m5osk.swapBtnBC = true;   // BtnB/BtnC KeyAssign swap.

  m5osk.setup();
//m5osk.setup("Hello World."); // You can also set default text

  while (m5osk.loop()) {
    // You can write your code here.
    delay(1);
  }
  String text = m5osk.getString();
  m5osk.close();

Licence

MIT

Author

lovyan03