Skip to content

[FEATURE] 機能提案・実装方針 #702

@3pino

Description

@3pino

個人的にあったら良いと感じている機能を整理しました。
一部は既存Issueと重複していますが、今後の実装方針としてまとめています。

このIssueは、これらの方向性がプロジェクトの方針に沿っているか確認するためのものです。
問題なければ、優先度の高いものから段階的にPRを送る予定です。

方向性

  • カスタムキーボードの機能拡充
  • 外部アプリ・自動化との連携
  • 物理キーボードとの統合強化

機能案

カスタムキーボードの機能拡充

  • カスタムキーボードで3段フリック。
  • カスタムキーボードにおける、フリックガイドの自由な表示/非表示の設定
    • 例えば「aキーを下にフリックでA」をわざわざ表示したくないが「aキーを上にフリックで@」なら表示したい。
  • 特定のカスタムキーボードへの切り替え、各種デフォルトキーボードとの切り替え
    • ユーザー目線では、デフォルトの「日本語 - かな」も「カスタムキーボードの各タブ」も等価に扱いたい。
  • キーの長押しに自由に動作を割り当てる機能
  • 数字キーボードや英語キーボードのカスタマイズ機能
    • あるいは、「数字入力時(パスコードなどの場面)はこのカスタムキーボードを用いる」のような選択
  • マクロキー:指定した複数の動作を順番に行うキー。もし可能なら以下のような機能もつけたい。
    • 正規表現置換。例えば、個人的には「しょ」のキーのあとに「濁点」を押したとき「しよ」ではなく「じょ」になってほしい。濁点キーの代わりに正規表現置換キーを採用するととりあえず解決?
    • Gemma 4 を呼び出す。

外部アプリ・自動化との連携

  • マクロキーがTaskerやMacrodroidなどの自動化アプリをトリガーする。
  • マクロキーが任意のJavaコードを実行する。設定画面でコードを記述し、キーを押したときにそれをトリガーとして実行する。
  • 逆に、自動化アプリから、設定やカスタムキーボードを切り替えられるようにする。
    • あるいは、動作をURIでトリガーできるようになると汎用的。
  • 条件に応じたカスタムタブ一覧の表示
    • 例えば、「LINEを使っているときは、カスタムキーボード一覧に絵文字を含める」「Slackを使っているときは定型文キーボードを含める」など。キー配置を自由に切り替えたい。
    • これには前提として「自動化アプリから、設定を切り替える」機能を実装する必要がある。

物理キーボード機能

  • カスタムキーボードに、Ctrl や Altなど、物理キーボードを模倣するキーを追加。
    • Obsidian など、一部のメモアプリは物理キーボードに対応しているため。
  • 物理日本語106/109キーボードへの対応。
  • 物理キーボードにおける、IME機能の自由な割り当て。
    • 例えば、文字未入力時に「無変換」キーで英語入力モードに移行、など。Ctrlなどの修飾子やF1~F12キーの対応、また、「入力前」「入力中」「変換中」などの状態による分岐など、かなり実装までの手間がある。 mozc や Atok の実装が参考になるか。

その他の設定

  • 設定の一括読み込み、書き出し
    • カスタムキーボードやユーザー辞書なども含める。
  • 音声入力のカスタマイズ
    • いまどきは音声入力用のAIがかなり増えてきたため。
    • ただしある意味「マクロキー」とやりたいとは被る。

実装ステップ案

1. 基盤機能の統一とリファクタリング

  • キーの種類 (KeyType) の可能な限りの統一。今 (2026-04-10) まさに行っている。非常に優先度が高い。
    • CROSS, PETAL, CIRCULAR, STANDARD あたりは少なくともまとめたい。
    • 2段3段フリックをカスタムキーボードで拡張するなら、これらのキーも統一したい。
  • 今後の仕様変更に耐えるため、カスタムキーボードにバージョン機能をつけ、 Migrate を実装する。非常に優先度が高い。
  • 各キーに自由にアイコンや Label を設定する機能。特にマクロキー実装時には優先度が高い。

2. 機能の追加

  • 設定の一括読み込み・書き出し(カスタムキーボード、ユーザー辞書を含む)。
  • 各種キーボードとカスタムキーボードのタブの実装の統一。
  • マクロキーの実装など、カスタムキーボードの機能拡充。
  • URI スキームによる設定・キーボード切り替えのトリガー対応。
    • これを基盤として、Tasker / Macrodroid などの自動化アプリとの連携を実現する。
  • 条件に応じたカスタムタブ一覧の動的切り替え。
  • カスタムキーボードへの修飾キー(Ctrl / Alt など)の追加。
  • 物理日本語106/109キーボード対応。
  • IME 動作の状態別(入力前・入力中・変換中)・修飾キー別の自由な割り当て。

Out of scope

私はたぶん実装しませんが、アイデアだけ残しておきます。

  • カスタムキー共有機能

    • そういうコミュニティとか界隈があったら絶対楽しい。ただし、bot荒らしを防いだり、そのためのアカウント認証を実装するとかは手間なので、個人開発でやることではないような。
  • AIキーボード生成

    • 例えば設定画面に「Markdown入力に最適なキーボードレイアウトを作って」というようなプロンプトを打つと、キー配列に # とか []()を入れたキーボードかそのJSONを生成するようなやつ。
    • ただしこれはアプリ内で完結させる必要がそんなにない。
  • 各キーごとに色や画像を設定する機能

    • 個人的には要らないが、あるとバズりやすそう。

ご意見をいただけると幸いです。方針に合わないものがあれば、その部分は外してPRを進めます。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions