Skip to content

カスタムキーボードに QWERTY 型キーを追加 / Add configurable QWERTY keys - #1296

Merged
KazumaProject merged 2 commits into
devfrom
codex/custom-qwerty-keys
Nov 12, 2026
Merged

KazumaProject merged 2 commits into
devfrom
codex/custom-qwerty-keys

Conversation

@KazumaProject

Copy link
Copy Markdown
Owner

Refs #1284

日本語

カスタムキーボードに、新しい「QWERTY」入力スタイルを追加します。キーを押したときのプレビューと、長押しして指を動かして選ぶ候補を、キーごとに設定できます。既存の通常キーは自動変換せず、キー編集画面で QWERTY を選ぶと利用できます。

  • キーの表示ラベル・タップ入力文字列・押下プレビューを別々に設定。長押し候補も表示ラベルと入力文字列を分離し、複数文字・絵文字を扱います。
  • 候補の列数、順番、空白マスを編集可能。1〜12 列、最大 120 マスに対応し、空白マスの位置を保存します。
  • 通常時と Shift / Caps Lock 時の設定を分離。Shift 専用設定を省略すると ASCII 英字を大文字化し、明示した Shift 用文字列には二重の大文字化を適用しません。
  • カスタムキーボード専用の押下プレビュー ON/OFF を追加(初期値 ON)。OFF でも長押し候補を選択できます。表示は既存の QWERTY ポップアップ設定・テーマ色・フォント・スキンを利用します。
  • 編集画面の再作成時の下書き保持、保存・再読込・複製・バックアップに対応。Room を 49 → 50、バックアップ形式を v5 → v6 に更新し、旧形式の読込を継続します。

検証

  • :custom_keyboard:testDebugUnitTest: 254 件成功。
  • アプリの関連ユニットテスト: 61 件成功(編集 UI、バックアップ、DB 移行、既存の Shift 処理を含む)。既存移行テストの変更は、新しい DB 列・バージョンへの追従のみです。
  • Lite Standard Debug のアプリ・計測テスト APK をビルド。
  • API 35 / ARM64 の専用エミュレーターと隔離したアプリ ID で実 IME を検証。通常・フローティング・分割 × プレビュー ON/OFF × 変換中入力/直接入力の 12 条件で、タップ、長押し候補選択、空白マス、キャンセル、Shift/Caps Lock、絵文字、テーマ文字色を確認。通常表示では二本指の入力も確認。
  • 実際の設定画面で、通常キーからの変更、画面再作成後の下書き保持、保存を確認。ローマ字入力とレイアウト複製も検証。
  • 実機・他の Android API・リリースビルドは未確認です。

画像、APK、検証ログ、一時スクリプトはコミットに含めていません。

English

Adds a new QWERTY input style to custom keyboards, with configurable key previews and long-press alternatives selected by sliding and releasing the finger. Existing normal keys are retained; users opt in through the key editor.

  • Configure the key label, tap output, and key-preview text independently. Each alternative has its own label and output, supporting strings and emoji.
  • Edit the alternative order, column count, and blank positions: 1–12 columns and up to 120 cells.
  • Configure normal and Shift/Caps Lock layers separately. Without a Shift override, ASCII letters become uppercase; explicit Shift output avoids a second uppercase transformation.
  • Add a custom-keyboard preview switch, enabled by default. Turning previews off keeps long-press alternatives available. Reuse QWERTY popup styling, theme colors, fonts, and skins.
  • Retain editor drafts across recreation and preserve settings through save, reload, duplication, and backup. Add the Room 49 → 50 migration and backup schema v6 while continuing to accept older backups.

Validation

  • 254 custom-keyboard library unit tests and 61 related application unit tests passed, including editor UI, backup, migration, and existing Shift behavior. Existing migration tests were adjusted only for the new database column/version.
  • Built Lite Standard Debug application and instrumentation APKs.
  • Tested the real IME on an isolated API 35 ARM64 emulator/application ID across 12 combinations of docked/floating/split surfaces, previews on/off, and composing/direct input. Covered taps, alternative selection, blank cells, cancellation, Shift/Caps Lock, emoji, theme text colors, and overlapping pointers in docked mode.
  • Exercised the actual settings/editor flow, draft restoration, and save, plus romaji input and layout duplication.
  • Physical devices, other Android API levels, and release builds were not tested.

No images, APKs, verification logs, or temporary scripts are committed.

@KazumaProject
KazumaProject merged commit 3f490f1 into dev Nov 12, 2026
1 check passed
@KazumaProject
KazumaProject deleted the codex/custom-qwerty-keys branch November 12, 2026 17:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant