Skip to content

変換候補の選択キーを任意の9文字に設定できるようにする - #550

Merged
mtgto merged 1 commit into
mainfrom
549-custom-select-keys
Nov 15, 2026
Merged

mtgto merged 1 commit into
mainfrom
549-custom-select-keys

Conversation

@mtgto

@mtgto mtgto commented Nov 14, 2026

Copy link
Copy Markdown
Owner

#549

概要

変換候補を選ぶキーは「123456789」「ASDFGHJKL」「AOEUIDHTN」の3つから選ぶしかありませんでした。特殊な配列を使っている人も自分の配列に合ったキーを使えるように、9文字を自由に設定できるようにします。

設定画面

一般タブの「変換候補の決定に使用するキー」の末尾に「カスタム…」を追加。選ぶとシートが開き、そこで9文字を入力します。

  • Pickerに並ぶのはプリセット3つと、今の値がプリセット以外ならその値だけです。カスタムで持てる値は1つです。
  • 「カスタム…」を選んでも値は変わらず、シートが開くだけです。キャンセルするとPickerは元の値のままです。
  • シートの入力欄には今の値が入った状態で開きます。
image

バリデーション

  • スペースを除く表示可能なASCII文字(!〜~)であること
  • 9文字であること
  • 同じ文字が重複していないこと(大文字と小文字は区別しません。Aa は重複扱い)

正しい値は大文字にそろえて保存します。シートではエラーをその場で表示し、正しい値のときだけ完了ボタンを押せます。エラーの有無でシートの高さが変わらないように、エラー表示の領域は常に確保しています。

Shiftが必要な記号(! など)やキーバインドに割り当てたキー(x など)は、登録しても候補の選択には使えません。ただし、キーバインドはあとから変えることもあるのでエラーにはせず、シートの説明文に注意書きを入れるだけにしました。

保存済みの値・iCloudから取り込んだ値

起動時に読み込んだ値と、iCloudの設定同期で受け取った値にも同じバリデーションを通し、不正ならデフォルトの 123456789 に戻します。手で書き換えられた値などで、候補パネルが範囲外の文字を参照してクラッシュしないようにするためです。保存形式(selectCandidateKeys の文字列)は変えていないので、以前のバージョンの値はそのまま使えます。

設定画面のPickerに「カスタム…」を追加し、シートでスペースを除くASCII文字9文字を
重複なし (大文字小文字は区別しない) で入力できるようにする。
@mtgto
mtgto merged commit 8448997 into main Nov 15, 2026
1 check passed
@mtgto
mtgto deleted the 549-custom-select-keys branch November 15, 2026 08:27
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