task #517
masaya_abe さんが7日前に更新

## やりたいこと
効率的でスタイリッシュなキーバインドで打鍵したい
## qwerty配列がこの世の基準
↓の画像が普通のキー配列で,これは元々タイプライターの配列とのこと.

タイプライターの技術的な限界から打鍵速度を落として,アームの衝突を防ぐ事を最優先に考慮した配列だという.
要するに,左の小指から右の小指までまんべんなく使うようにバインドされており,
頻出のキーや良くある組み合わせの考慮は優先されていない.
## 現代の代替配列
↓のような配列がある

dvorak配列というらしい
これは英語ベースであるが,より頻出のキーや,英単語の構造的な特徴を考慮している.
しかし日本はもちろん海外でも流行っていない.
他にも,日本語向けのモノやよりモダンなのもあるが,やはり人口は少なくかなりオタク領域.
## 代替配列が流行らない理由
代替配列が流行らない理由は以下が主と思われる
* キーバインドを変更するという発想がPCオタクになった後の発想なためそもそもたどり着かない
* この課題を認識する時には既にデフォルト配列をマスターしており,再学習にデメリットが伴う
* 出先や客のpcを操作する場合等業務上の課題がある
* マスター済のショートカットキーのバインドをどうするか課題が発生する
要するに「PCオタク知識」,「再学習コストの許容」,「付随する課題への解決策」がセットで必要となる.
上記を考慮した時に「まあ,このままqwertyでいいや」となる.
## 大西配列が熱いらしい

https://o24.works/layout/
特に日本語のローマ字打ちに配慮している.
母音aiueoキーを左手で打ち,子音を右手で打つことで左右交互打鍵とし
かつzxcvの多用ショートカットは変えない.
下記の設計過程も納得感あり面白い
https://note.com/illlilllililill/n/n3b51f4aaf086
また,下記の動画を見ると変態配列使いたさがより上がる
https://www.youtube.com/watch?v=iKSnUOVDimM
## とりあえずやってみる
AUTO HOT KEYでバインドを大西配列に差替えてしばらく使ってみる
必要に応じて更にバインド変えるかもしれない
1週間程度で所感を纏める
```
;大西配列
-::/
q::[
w::]
[::q
]::'
'::l
e::u
r::,
t::.
y::f
u::w
i::r
o::y
a::e
s::i
d::a
f::o
g::-
h::k
j::t
k::n
l::s
sc027::h
b::sc027
n::g
m::d
,::m
.::j
/::b
```
※以下は必須昔からずっと使っている
```
#If !GetKeyState("Alt", "P") ; Altキーを押しながらの場合は通常通り動作させる
~LAlt::
Run, ahk_class imejp.imjp_003 ; IMEの英数に切り替え
Return
~RAlt::
Run, ahk_class imejp.imjp_001 ; IMEのかなに切り替え
Return
#If
```
## バインド変更
タイピングは明確に遅くなったが、2週間もすればブラインドで割と覚えられた。
配置もいろいろ考えていたが、特にaiueoの配置。
なんだかんだでauを中指がかぶっているのが気になった。指は5本あるのだから
つまり親指を使えばよい。
日本語ローマ字打ちで,aが再頻出とのことなので「あ」は親指に持ってくるとして,「いうえお」はどうするか
頻出度を反映するなら,小指から「ういえお」の順だが,試してみるとzu(ず)がかなり打ちずらい.
そのため,「いうえお」は左からそのまま「いうえお」にする.結果的に覚えやすい配置でもある.
この場合,「zi」(じ)は,「ji」で打てば良い.
また,G,Dあたりは上に持って行きたい。人によるだろうが、指を曲げるより伸ばす方が楽だから。
あと記号とQL。どうせならよく使う記号は左手に寄せ,QLは右に持って行きたい。

上記は61キーなのでキー数が多くないがこれをベースにレイアウトを再考する.
## キーボードを自作する
前述の通り親指でAを押すことを考えたが,そもそも親指はニート過ぎる.
他の指と比べ遥かに仕事が少ない.大概の場合[space]専用の指みたいになっている.
親指ニートを卒業させることと
* 出先や客のpcを操作する場合等業務上の課題
この課題をクリアする最も良い方法は「自作キーボード」と思われる。
→ムダにデカい[space]キーを廃止できる
→ファームウェアレベルでバインドが適用済みなのでキーボード持ってけばAHKとか不要
→いざとなったらAHKの実行ファイルをクラウドとかに上げとけば大概は対応可能
→単純にかっこいい
* 左右分離キーボード作る
このキーボードは親指のキーが左右でそれぞれ6キーあるので親指に仕事を振りやすそうで良いと思った.
https://github.com/abstracthat/dactyl-manuform?tab=readme-ov-file
layout0

layout1

## 調達
マイコン
https://www.amazon.co.jp/dp/B0DHGT7Z54?ref=ppx_yo2ov_dt_b_fed_asin_title&th=1
3Dモデル(プリントはJLCで40ドルくらい)
https://www.thingiverse.com/thing:2666676
左右接続用コネクタ
https://www.amazon.co.jp/dp/B01MTNBL1Z?ref=ppx_yo2ov_dt_b_fed_asin_title
左右接続用ケーブル
https://www.amazon.co.jp/dp/B09KTNV1J1?ref=ppx_yo2ov_dt_b_fed_asin_title
ダイオード
https://www.amazon.co.jp/dp/B07RDF9GN4?ref=ppx_yo2ov_dt_b_fed_asin_title
キーキャップは職場用のみ新規調達
キースイッチは銀軸10個のみ新規調達
いろいろ併せて、自宅用と職場用で13000~15000円位か
もちろんキースイッチとキーキャップをありもの再利用していることもあるが
それも含めて全部新規で調達する場合、自宅用&職場用合わせて、22000円位か
## ファームウェアを作る
ファームウェアをビルドするのにコンパイル環境用意するのめんどくさい
~~と思っていたけど下記サイトで生成できる。神。
https://config.qmk.fm/~~
このサービスで作成したファームウェアだと左右のシリアル接続ができなかった.
下記を使って最速で環境を用意できたのでこれでコンパイルすることにした.
https://msys.qmk.fm/
それでも結構詰まった.左右のシリアル接続ができない理由を切り分けするのに時間がかかってしまった.
ファームウェアできたら後は下記ツールでボードつないでファームウェアを書き込めばOK
https://qmk.fm/
## 組み立てる
### ボディシェル
シェルはJLCに外注した.
左右x2(自宅用,職場用)で20$+送料18$位だった.他にも外注(マウスとか)も含め合計 60$位.
<img src="IMG_20251119_183920285_MFNR.jpg" width="700">
### キースイッチ
まず,自宅用を作ってみる.
在庫のキースイッチをはめた.
小指は35g位の軽量スイッチ(ピンク)
基本は40g位のスイッチ(水色)
ゲームやることもあるので中央は重さ不明の銀軸高速スイッチ(黒銀)
それ以外は45g位の赤軸スイッチ(赤色)
力の入りやすさと対応するよう小指などは軽くなるように心掛けた.
<img src="IMG_20251119_195057738_MFNR.jpg" width="700">
### キーキャップ
キーキャップは最近お気に入りの木目調を再利用した.
<img src="IMG_20251119_203150703_MFNR.jpg" width="700">
### 配線
最近の自作キーボード界隈では,PCB(基盤)から自作するのがトップメタみたいだが,
単純に全てはんだ付けで対応した.
今回の曲面キーボード用のPCBつくるには,フレキシブルPCBじゃないといけないので割高なうえに
曲面にフィットするように寸法調整が一撃でうまくいかない確信がある.
また,PCBわざわざ作るならキースイッチをホットスワップ出来るようにしたくなる.
その場合,
・PCB30$位 (1回ミスして60$)
・PCB納期で+2週間遅れ
・ホットスワップ端子150個 3500円
単純に金(+15000位)も手間も時間もかかる.
もうありもの買ったほうが良くね?となる.
なので,極めてシンプルなオール手動はんだ付けで対応した.
<img src="IMG_20251213_000411379_MFNR.jpg" width="700">
職場用も同様に作成する。色は変えた。
<img src="IMG_20251209_094318786_MFNR.jpg" width="700">
### コネクタ類
3dモデルは何も考えずに選定したが,コネクタ周りの思想が古いようだった.
左右繋げるケーブルは何故か電話線を想定してるらしいデカい四角だったりする.
調達が微妙にめんどうだったがどうにかした.
<img src="IMG_20251209_094417586_MFNR.jpg" width="700">
<img src="IMG_20251209_094421228_MFNR.jpg" width="700">
### 完成
最終的なキー配置は↓の配置にした
大きな変更として、
* ゲーム用は配列(qwerty)を追加した。
※正確にはqwertyではない。ホームポジションにWASDが来るようにしている
いわゆるESDF勢だが、新しいゲーム始める度にバインドをいじる必要を少しでも減らす為このようにした
* ファームウェア更新用のBootボタンを押せるようにした。
* 「q」「l」の位置変更した。
* 「k」を親指に振り分けた。
* 「ctrl」,「shift」をほかの指でも押せるようにした。
<img src="20260129.png" width="700">
職場用は銀軸赤軸は使わず小指だけピンクのスイッチでそれ以外は水色スイッチで統一した.