Skip to content

SWITCHSCIENCE/ShortcutCore2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ShortcutCore2

M5Stack Core2 を使った、タッチ操作対応の BLE ショートカットデバイスです。
画面をタッチして PC にキーボード入力を送信し、利用シーンに応じてレイアウトプロファイルを切り替えられます。

現状の実装では M5Unified を前提に、以下の構成で動作します。

  • タッチパネル上のグリッドをキーとして扱う
  • BLE キーボードとして PC にキー入力を送る
  • 画面上に現在のレイアウトとアクティブセルを描画する
  • タップ時にスピーカー音とプログラマブル LED アニメーションで反応する
  • ボタン A / C でプロファイルを切り替える

対象環境

  • デバイス: M5Stack Core2
  • ライブラリ: M5Unified
  • スケッチ: ShortcutCore2.ino
  • ボード設定: sketch.yaml

sketch.yaml では以下の FQBN が設定されています。

default_fqbn: esp32:esp32:m5stack_core2

画面と操作

起動後はタッチグリッドが表示され、各セルに割り当てられたラベルが表示されます。タッチ中のセルはハイライトされ、対応する HID キー入力が BLE 経由で送信されます。

  • タッチ: 対応セルのキーアクションを送信
  • 長押し: repeatEnabled が有効なアクションのみリピート送信
  • BtnA: 前のプロファイルへ切り替え
  • BtnC: 次のプロファイルへ切り替え

現在のデフォルトプロファイルは次の 2 種類です。

  1. EAGLE Schematic
  2. EAGLE Board

現在のプロファイル内容

src/Profiles.cpp では、用途別にキーアクションをまとめたレイアウトを定義しています。

EAGLE Schematic

2 行 x 3 列、合計 6 アクションです。

ラベル 入力
ESC Escape
MOVE Ctrl + M
NET Alt + N
ADD Shift + Ctrl + A
COPY Shift + Ctrl + C
DEL Ctrl + D

EAGLE Board

2 行 x 2 列、合計 4 アクションです。

ラベル 入力
ESC Escape
ROUTE Ctrl + 1
RIPUP Shift + Ctrl + R
MOVE Ctrl + M

カスタマイズ方法

ショートカット内容を変更したい場合は、主に src/Profiles.cpp を編集します。

基本的な流れは次のとおりです。

  1. KeyActions::SINGLE / CTRL / ALT / SHIFT_CTRL / TEXT を使ってアクションを定義する
  2. LayoutProfilerowscolsactionCount をレイアウトに合わせて設定する
  3. 必要なら src/DeviceConfig.h でデフォルトプロファイルや長押しリピート設定を調整する

アクション定義の例:

eagleSchematic[1] = KeyActions::CTRL("MOVE", HidKeyCode::M, false);
eagleSchematic[2] = KeyActions::ALT("NET", HidKeyCode::N, false);

開発メモ

  • 画面更新は状態変化ベースで行い、常時全面再描画を避けています
  • タッチ入力、描画、キーボード送信、LED / 音は分離された構成です
  • 将来の左手デバイス機能追加を見据えて、プロファイル差し替えしやすい構造になっています

About

M5Stack Core2 を使った、タッチ操作対応の BLE ショートカットデバイスです。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages