プログラミングもしやすいキー配列を模索する / qcuy配列
qcuy配列
年始からローマ字をAZITでタイピングしている。
さらに運指の負担を減らすため、キーボードレイアウトのカスタマイズにも手を出してみた。
どんな配列?
astarte配列派生のcuyz配列をベースに、自分が使いやすいように少しずつ調整&模索中。
キーボード左上の並びがq
, c
, u
, y
なのでqcuy配列[1]。
astarte, cuyp, cuyz系統なのでコードが書きやすい…はずです[2]。が、基本的には「自分用」の実験・習作的配列です。
使用者のペルソナはこんな感じです:
- MacのUSキーボードを使っている / キーのリマップはKarabiner-Eements
- コードを書く
- コードのコメント行も英語で書くので、普通の人より日本語を書く量は少ないかも?
- ローマ字はAZITで入力している
- 右利き
cuyz配列からの変更点:
- コードを書く際に
.
,,
が並んでいる方が良いので、縦に配置 - 割と使用機会の多い
m
が中指下段だと個人的に指が辛いので、qwertyと同じ位置に戻した - それにともない
w
を移動する必要があるが、日英での使用頻度に鑑みてw
を人差し指側、玉突きでf
を中指側に移動(AZITだとf
もそこそこな頻度で使うが、一旦様子見) - 行末に
;
が必要な言語も使うので、;
の位置は様子見(多分/
と入れ替えます)
逆に配列を検討するのに考慮しなかった要素:
- 自作キーボード民ではなく、またキーマッピングをKarabiner-Elementsで変更しているので、
h, j, k, l
やz, x, c, v
の位置はあまり意識していない(キーボードの刻印通りに⌘+zを押して動くようにできるので)
その他
- 母音が左にかたまっているので、ローマ字入力も結構楽です。
- 一瞬大西配列に入門したこともあるので、
k
,t
,u
,n
などの位置が同じで学習コストが低いのも個人的に◎ -
k
に関してはローマ字と英語で打鍵頻度にかなり差があるので扱いが悩ましいが、一旦このままで
Karabiner-Elements用のjsonファイル
MacのUSキーボードのキーマップをqcuy配列に変更するためのjsonファイルをgistで公開しています
主観的頻出単語の打ちやすさ
var
, func
, function
, fn
, for
, if
, int
, float
: 打ちやすい
let
, enum
: 普通
const
: 微妙かも
c
, x
, ;
, /
, '
を移動
左手中指・薬指下段は個人的にはかなり押しづらく、なるべく使用頻度が高いキーを置きたくないので、そのへんも含め調整。
-
c + 母音
のコンビネーションが打ちづらいのはあまりよろしくないので、c
を子音担当の右手側、リターンの左に移動 -
c
の移動先の'
をx
の位置に移動 -
x
を空いたc
のポジションに移動 -
/
と;
を入れ替え
-
c
に関してはMTGAP配列だと右側なのでそれに倣いました[1]。 -
w
,b
,l
の取り残された押しづらいキーたちのいずれかをv
と入れ替えるかも - 右手ホームポジション周りが忙しいので、左利きの人にはちょっと使いづらいかも
-
/
と;
のベストポジションは使う言語によりそう。マークアップ使う人には、もともとの位置がいいかも
明確に良くなったところ
-
const
が入力しやすくなった。
qxuy配列だね
gistも更新
-
AZITだと
c
も結構よく使うので、ローマ字的にも右手でアクセスしやすい場所がよい ↩︎
c
, v
などを移動
ホールド&タップ(長押しによる押し分け)が意外と使いやすいので、それを前提に少し改良。
-
c
をg
のあった場所に移動 -
v
をd
のあった場所に移動 -
l
をc
のあった場所に移動 -
m
にタップ用のキーを追加
メリット
-
class
やcall
などが入力しやすくなった -
comma
などm
が連続する単語の打ちやすさの改善
気になる点
- Karabiner自体のホールド&タップ精度の甘さゆえ、打ち間違いが多少発生する点
-
n
長押し >m
を削除
n
-> t
のコンビネーションが隣り合っていることもあり、高速で入力されることが多く、(Karabinerの処理が追いつかないのか)まあまあの頻度でt
が空打ちになるため
print
をはじめ~nt
で終わる単語も多いので、コードを書く際の快適さの改善を狙った。
gistも更新。
配列に慣れて入力速度が上がってくるにつれ、t
長押し > d
が若干煩わしい場面がちらほら。
特定の単語の過去形の~ded
や、add
など、d
が連続的に入力される機会が以外と多いからか。他のタップ&ホールド系のキーについては、今はそこまで気にならない。
Karabinerで制御するタップ&ホールドの挙動が不安定なので、quote
を清濁変換用のレイヤーのトリガーに割り当て、該当する文字を入力する場合はquote
を押しながら打鍵するようにしてみた。
-
quote
の位置にあったl
はp
の位置に移動(class
など単語の押しやすさはそのまま)
懸念点
- 小指の使用頻度が数倍以上に / 親指でレイヤーを切り替えられれば…
自分の環境の問題なのか、shift
+ quote
+ w
(=大文字のW
)のコンビネーションが反応しないので、w
をf
+ quote
に割り当て。