[FEATURE] 機能提案・実装方針
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 20/100
Research direction
Start by reviewing the current KeyType implementation and the existing issues referenced by this proposal, then compare the listed ideas with the project's current direction. This issue names no files or tests and covers many independent features; a useful next step is to obtain agreement on one narrowly scoped feature before defining what done means.
Written by the indexing model from the issue text.
Description
個人的にあったら良いと感じている機能を整理しました。
一部は既存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を生成するようなやつ。 - ただしこれはアプリ内で完結させる必要がそんなにない。
- 例えば設定画面に「Markdown入力に最適なキーボードレイアウトを作って」というようなプロンプトを打つと、キー配列に
-
各キーごとに色や画像を設定する機能
- 個人的には要らないが、あるとバズりやすそう。
ご意見をいただけると幸いです。方針に合わないものがあれば、その部分は外してPRを進めます。
- Dominant language
- Kotlin
- Stars
- 345
- Forks
- 36
- Avg merge
- 10h 10m
- Merged PRs (30d)
- 99
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from KazumaProject/JapaneseKeyboard
-
ユーザー辞書や定型文で単語の末尾スペースが削除される(登録経路による挙動差)Possibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
KazumaProject/JapaneseKeyboard#1125 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
KazumaProject/JapaneseKeyboard#1089 · 1 reaction ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
KazumaProject/JapaneseKeyboard#1102 · 3 comments · 1 reaction ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
KazumaProject/JapaneseKeyboard#1100 · 1 reaction ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
KazumaProject/JapaneseKeyboard#1096 · 1 reaction ·
Maintainers usually reply within 1 day
All issues in KazumaProject/JapaneseKeyboard
Similar issues
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
bug 🐞 Untriaged user issue
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
valkey-io/valkey-glide#7306 · 1 comment ·
Maintainers usually reply within 2 days
-
Bookmarking an article that is already bookmarked under its redirect URL deletes both bookmarksPossibly taken @aakarshitv claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
kiwix/kiwix-android#5176 ·
Maintainers usually reply within 1 day
-
bug good first issue
Difficulty 1/5 1-3 hours Newbie friendliness 77/100
open-telemetry/opentelemetry-kotlin#1202 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day