半角英数字記号全部入りのazooKeyフリックキーボードの設計メモ
作成したもの
azooKeyで半角英数字記号全部入りのiOSカスタムフリックキーボードの記事を参照
作成した経緯
iPhoneを使う際、QWERTYキーボードはキーボード幅が小さく打ちにくいため、フリック入力の英字キーボードを使っている。
普段から英文を入力するような人にはQWERTYキーボードの方が良いが、普段は日本語を入力し、たまに英字に切り替える使い方であれば、個人的には英字フリックキーボードの方が打ちやすいと感じる。
英字フリックキーボードの欠点は、半角記号がどこにあるのか、そもそもあるかどうかさえ分かりにくい点である。
この欠点を解消するため、ASCII印字可能文字をすべて収録したカスタムキーボードをつくることにした。
ASCII - Wikipedia
配置設計の思想と流れ
優先したことは覚えやすさと打ち込みやすさである。
キーや文字の場所に意味合いや関連付けをもたせて覚えやすくしつつ、頻度が高そうなものはキー中央に配置する方針をとった。
ここから、ASCII印字可能文字のうちキーボード右端列にある半角スペースを除いた、以下の文字群を詰め込む。!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
まず英字部分である。検討した案として、例えば以下があった。
- ABCの歌の区切りで配置を分ける
- 数学など特定分野で使われやすい文字をフリックしないで入力できるようにする
- 50音の子音ベースにする(Kを「か」の位置に置くなど)
- アルファベットの読み方をベースにする(bを「は」のキーに割り当てるなど)
などがあった。
しかし、どれを試しても認知負荷が大きく使うのが辛くなったため、結局、英字は純正キーボードと同じ配列(いわゆるE.161規格の配列)に落ち着いた。
E.161 - Wikipedia

残:!"#$%&'()*+,-./0123456789:;<=>?@[\]^_`{|}~
次に数字である。Pキー、Wキーは中央と左上右が埋まっているため、下方向しかない。
0は下にフリックできないため

残:!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
次にかっこである。1つのキーの左右に開きかっこ、閉じかっこを設定するのがきれいだが、そうすると他の記号を関連するもの同士でまとめにくくなる。
そのため、右フリックに設定することにした。

残:!"#$%&'*+,-./:;<=>?@\^_`|~
次に数学関係の記号である。
左の列にまとめて配置した。-と/は比較的打ち込む機会が多いためキー中央に配置し、+と*をそれらの上フリックに対応させた。_と~は形が似ている-のキーの左右に配置した。\は/の反転、%は剰余記号であるため、/のキーの左右に配置した。=は頻度こそ高くないが、<>と組み合わせると都合が良いため、中央と左右に組み合わせて配置した。^と_はペアにしようとしたが、他の記号との組み合わせがうまくいかなかったため、<>と組み合わせて方向感を出した。

残:!"#$&',.:;?@`|
文章関係の記号のうち、.,?!は純正キーボードと同じ配置にした。:のまわりに縦に分割する系の記号;&|を配置し、'のまわりに上方にある記号"と`を配置した。
これらも使用頻度が比較的高そうな記号を中央に配置した。

残:#$&@
残った記号のうち、@#は純正キーボードと同じ配置にした。&と$は配置に迷ったが、&は縦に分割するイメージが強いため:のキーに配置し、$は@キーに組み込んだ。

作成に利用したツール
azookeyのJSONの作成には、GUIでキーボードレイアウトを作成できる以下のツールを使用した。
CustardWeb - azooKey Keyboard Designer
使い方に癖があり、ショートカットキーの挙動も若干不安定であったが、JSONを直接編集するより圧倒的に作成しやすかった。