【自作キーボード】遊舎工房

会社休んで行ってきた。ムフ〜。

f:id:komb:20200610133314j:plain

 

待ち焦がれました。コロナめ!

f:id:komb:20200610133328j:plain

 

戦利品

f:id:komb:20200610175420j:plain

実際に押してみて選びたかったのです。

わかりゃしないんだけど。それでもね。やっぱりね。

 

結局、無難に(無難なのか?)kailh box 赤。

なんか、しっくり来たんだよ。ホントだよ。

 

f:id:komb:20200610175402j:plain

あとは、スタビライザーに塗るバター。

 

f:id:komb:20200610175416j:plain

あとこういうの。

欲しかったの。

 

f:id:komb:20200610175954j:plain

家に帰ってハメてみた。かわいい。

 

これから作るキーボードについて気になってることをいろいろ聞いてきた。丁寧におしえてくれました。ありがとうございました。つくる勇気がでました。

 

・スタビライザーは、PCB基板に挿すタイプ。

・スタビライザーのルブは正直なんでもよい。なんならバターでも。

・パッケージに入ってたのはおそらく予備のダイオードと抵抗。表面実装タイプの部品は、見た目じゃわかんない。数字が書いてある方は、ダイオードじゃなくて抵抗の可能性が高い。

・予備のパーツが基板にハンダ付けされてるケースもある(実物見せてくれる)。

・キープレートは、干渉さえしなければどうにかなる。ならなかったらなんとかする(カッコイイ!)

・全部同じ重さのキーにしなくても。力の弱い小指側を軽くする、なんていうパターンも。

 

・真ん中にkensingtonのトラックボールが仕込んである、分割一体型の真っ赤なキーボードがやばかった。死ぬほどかっこいい。あれ欲しい。

【自作キーボード】来たよー(一部だけ)

はうっ。来た。

f:id:komb:20200608201527j:plain

ひー。

 

f:id:komb:20200608201600j:plain

うひょー

f:id:komb:20200608201647j:plain

開かねー

f:id:komb:20200608201714j:plain

こっちかーーー

f:id:komb:20200608201759j:plain

こっちだったーー

f:id:komb:20200608201823j:plain

!!!うがーー

f:id:komb:20200608201919j:plain

でええええーーーーい

f:id:komb:20200608202021j:plain

空いたーーーーーーーうおーーー

 

 

f:id:komb:20200608202100j:plain

キープレートーー

 

f:id:komb:20200608202150j:plain

結構ザリザリしてるー。

f:id:komb:20200608202209j:plain

レーザー加工、ってやつなのかな。手切りそう。

f:id:komb:20200608202217j:plain

分厚いな。ずっしりしてる。そういやオレ、

小さいときから鉄板が好きだったな意味もなく。

 

 

f:id:komb:20200608202318j:plain

これはなんだろう?

 

 

f:id:komb:20200608202350j:plain

PCB〜〜〜〜

 

f:id:komb:20200608202418j:plain

ダイオードは、もう実装済み、ってことでいいのかな?

 

USB−Cですな。

f:id:komb:20200608202440j:plain

 

f:id:komb:20200608202444j:plain

線買わなきゃ。

 

あれ?

f:id:komb:20200608202456j:plain

あれあれ?プロマイクロは?

 

f:id:komb:20200608202524j:plain

これか?

 

じゃあ、リセットスイッチはどこ?

 

ん?

f:id:komb:20200608202731j:plain

んんんんん?

これを短絡させるのかな?

 

つうか、ビルドガイドは?

 

 

 

f:id:komb:20200608202827j:plain

さっきのコレ、なんだろう。

ダイオードの予備?

 

表面実装タイプってやつか?自分でハンダ付けする場面が来ないことを祈る。

 

 

f:id:komb:20200608203042j:plain

あとはスタビライザーか。

f:id:komb:20200608203100j:plain

何故か2袋入ってる。

 

コレで全部。

 

 

全部!???

 

 

キーキャップは!?

 

別の日にクリックしたから、別便か。

キーキャップのほうが先にクリックしたんだが。

 

ケースは、別の店だからもうちょっと待とう。

 

 

キースイッチ買いに行こう。

今から行こう。

遊舎工房へ行こう。

【自作キーボード】なんて呼べばいいんだ?

練習のつもりで買ったテンキーは、soyuz って名前がついてるんだが、AliExpressで買った、本番のキーボードは、なんて呼べばいいんだ?そういえば。名前を知らないよ。

 

購入履歴を見ると

<PCB>

GH60 64 Minila PCB
Fully Programmable For DIY
Mechanical Keyboard
YD60 Poker HHKB Support LED

 

<キーキャップ>

YMDK Carbon White blue Black Red
Minila Keyset Thick PBT OEM Profile Keycaps
For Filco Minila YD60M

 

<キープレート>
YMDK 64 Minila Brush Finish Steel Plate
YD60MB Programmable Underglow RGB
PCB For 60 64 Minila Layout DIY
Mechanical Keyboard

 

とあるんだが、どれが名前なの?

候補

・GH60

・GH64

・64Minila

・YD60

・YD60M

・Poker

・HHKB

・YMDK

・Carbon White blue Black Red

 

どれだよ。どれがオレのキーボードの名前なの?

 

Filco Minila YD60M というのは、市販のキーボードかな。

Poker と HHKBも。

https://www.diatec.co.jp/shop/det.php?prod_c=1470

これと同じ配列。少なくとも買ったキーキャップの写真はコレと一緒。

 

なんて呼べばいいんだ?

 

今日のこの記事のタイトルが付けられない。

 

困ったときはQMK Configurator。

これで見てみる。

 

プルダウンメニューをぺかぺか選んでみる。

オレが買ったのとおそらく同じ組み合わせがコレ。

f:id:komb:20200607230444p:plain

 

キーボード名:ymdk/ymd67

ってことでいいのかな。

 

qmk_firmwareフォルダの中身を確かめてみる。

keyboards/ymdk/ymd67

というフォルダがあった。これだな。

 

商品履歴のどこにもymd67って文字が無いのが笑える。

 

そろそろ届くなあ。スイッチまだ買ってないんだよな。

soyuzと同じkeilh Box 黒軸でいいかなあ。

実物触って決めたいなあ。

 

【Soyuzビルド22】おもしろいなあああああああああああああああ

KC_PCMMがカンマじゃなくてドットになっちゃう問題は調べてもわかんないや。

 

#include"keymap_jp.h"  とかその辺の話なのかも、思っていろいろやってみたけど、オレにはまだ早すぎた。さっぱりわかんない。多分ちがう、ってことも分かってきたし。

 

https://beta.docs.qmk.fm/using-qmk/simple-keycodes/keycodes_basic

こんなページも見つけた。正式名称と略称があるみたいで、正式名称しか無いキーもあるので、もしかしたら、と思い、

 

 KC_PMCC

 

じゃなくて、

 

 KC_KP_COMMA

 

と入れてみたりもしたのだが、やはりカンマじゃなくてドットになる。

エラーが出なかったので、文法的には正しいようだ。

 

なんか、keymap.c の頭の方に書いてある、

 

[0] = LAYOUT_ortho_5x4(

 

この辺の話っぽいんだよなあ。ここで出てくるレイアウトってなんなんだろうな。

そもそもこのortho_5x4 ってなんなんだろうな。普通はANSIとか書いてあるところを見ると、なんかわかりそうなもんなんだけど、何なんだろうな。何かがどこかで決められててそれの話のような気がする。そこでカンマとドットがごっちゃになってるのが原因のような気がする。違うかな。

 

あ。

あああ。今分かった。わかんないけど。

 

KC_8 と KC_P8 の違い。

f:id:komb:20200607112651p:plain

f:id:komb:20200607112722p:plain

ほら。

フルキーの8は、通常は「8」。シフトキー押したときは「*」。

キーパッドの8は、通常は「8」。NumLock押したときは「↑」。

ここで決められてるんだ!

 

f:id:komb:20200607114101p:plain

いまは暫定的にコレにしてるけど、

ホントは、

f:id:komb:20200607114133p:plain

こうしたいのよ。Soyuzにはシフトキーが無い(入れてない)から、おんなじだけど。

 

 

 

あと見て。KC_8 は、 「8」と「*」 って書いてある。おかしいじゃん?

おれのキーボード見て!(誰に言ってんだ?)

 

f:id:komb:20200607113339j:plain

8のキーは、シフト押したら「( 」が出るのよ。「*」じゃない。

これは、JIS配列とANSI配列の違い、ってことでしょ?

 

これはどこで調整してるんだ?

 

8のキー押したら8。シフト押しながら8押したら「( 」が出るようにするキーマップはどうやったら作れるんだ?

 

そうこうしてるうちに

f:id:komb:20200607114519p:plain

こんな記述を見つけちゃったよ。

 

どうする?やってみるか。

f:id:komb:20200607114803p:plain

....

 

あは。

ダメでした。何も反応しなくなっちゃった。

元に戻そ。

 

 

この話はココまでだな。面白かったけど疲れた。

---

 

オレの嫌いなNumLockを外そう。外して何しよ。

 

シフトキーにすっか。できるんだよな?

 

シフトキーがNumLockの位置だと押しづらいよね。親指で押しながら、数字キーを押すと、記号が出たりするようにしたい。

 

f:id:komb:20200607141642p:plain

こんなんしてみた。どうかな。

キーパッドの数字キー全部止めたら、シフトの記号が全部使えるでしょ。

左上のキーは、ダブルゼロを残しておいた。あとでここをイジって好きな数字を出せるようにしたいから。

 

---ここからsoyuzで入力

0123456789

---ココまで。

 

できたできた。

そうか。パッドの数字じゃないと、日本語入力になってるときは

全角文字が出てくるのか。

 

シフト効くか試してみる

 

---ここからsoyuzで入力

〜!”#$%&’()

~!"#$%&'()

---ココまで。

 

あ。できたできた。

 

ちゃんと「8」のシフトが「(」になってるなあ。

希望通りだけど、これはこれでモヤモヤするなあ。だって、

https://beta.docs.qmk.fm/using-qmk/simple-keycodes/keycodes_basic

ココに書いてあるのと違うから。8のシフトは「*」って書いてあるもん。

 

ダブルゼロ「00」を好きな文字に入れ替えてみる。

DBLZEROをやめて、ANYNUMとでもするか。 

00を123456789

に置き換える。

f:id:komb:20200607143418p:plain

どうかな。

 

---ここからsoyuzで入力

123456789

123456789123456789

123456789

 

---ココまで。

できた。

半角でロックできないかな。

 

また今度にしよう。

 

パスワードでもいいな。よくないか。

 

f:id:komb:20200607144023p:plain

 

---ここからsoyuzで入力

Ore=no=Pasuwa-do=daze=01010

Ore=no=Pasuwa-do=daze=01010

 

---ココまで。

 

あ。日本語入力モードなのに半角で出る。

あと、アンダーバーがイコールになってる。なんで?

わかるわけないよ。流石に。知らないもんC言語。

 

おもしろ。

 

日本語も行ける?

f:id:komb:20200607144846p:plain

 

あ。

ダメだ。変なことになった。流石にダメでしたか。すいません。

 

−−

いろいろググってたこんなの出てきた

https://qiita.com/Shino3/items/96b56d91369d27228cd6

ウケる。

 

やっぱり日本語は使えないみたいだね。

【Soyuzビルド21】あとはもう記録の必要はないかな。

ここと

https://ascii.jp/elem/000/001/645/1645504/

ここ。さっきものせたやつ。

https://qiita.com/marksard/items/9317949ce1da327f7436

この2つを熟読すればどうにかなるかな。

あとは慣れっぽい。

 

こういうプチプチ書き込んで行く、みたいな作業好き。大丈夫。トロいけど。

せっかく覚えてもすぐ忘れるけど。忘れたことも忘れるから、ずっと好きな作業。

---

NumLockってどういうふうになってるのかがわからない。

調べても出てこない。いや、あんまり調べてないんだけど。

 

自動的にレイヤーとか関係なく、

「7」キーに「Home」キーを割り当てて、

「8」キー「↑」キーを割り当てて、

「9」キーに「PgUp」キーを割り当てて、

「4」キーには「←」キーを割り当てる。。

みたいなことなんかな。

 

でもそうなると、NumLockをかけたときに、テンキーじゃないほうの数字キーも、

その動きをしちゃうことになるよな。

 

あ。そうか。

 

テンキーの数字キーと、そうじゃない数字キーは、違う扱いなのか。

そういうことなのかなあ。。

 

 

おおおおおおお!今分かった。

qmk configuraterのページに行って、テンキーの「8」にカーソルを乗せると、

「KC_P8」

って出る。

 

フルキー(って言うのか?)の数字キー「8」にカーソルを乗せると、

「KC_8」って出る。

 

違うんだ。そういうことか。

 

だから、「NumLock」を押したとき、「KC_P8」が割り当てられてるキーは、自動的に、「↑」キーとして働く、っていう風に定められてたりするんじゃなかろうか。それがNumLock。

 

いまはそういう風に理解しとこう。仮に。

 

いずれにしてもオレは、NumLockキーを使ったことがないし、これからも使う気はない。間違って押してしまってイライラする、真っ先に毟り取ってしまいたい大嫌いなキーだ、ってことに変わりない(実際、会社で使ってるキーボードはNumLockキーを毟り取ってある)。

 

---

キーマップ書いてみよ。ベースとなるのはこうしよう。

 

f:id:komb:20200607002854p:plain

えへへ。書いてみた。アスキーアートみたいなのも。

NumLockはとりあえず残しておく。

代わりに何にするかまだ考えてないので。

 

そして焼く。

---

  / * 

 7 8 9 -

 4 5 6 +

 1 2 3 =

 0 . . 

 

あれ?

..

あれ?

 

カンマが入んねーぞ。ドットになっちゃってる。

なんで?

KC_PCMM

じゃないの?

 

ま、いいか。

KC_COMM の方にしてみる。

 

f:id:komb:20200607080130p:plain

 

,

,

、、

 

出た出た。ちゃんとでた。

日本語モードにすると、句点になるのな。
 

【Soyuzビルド20】自分で出来るもん。

わかった。ツールみたいなのは使わない。でやる。

まず、defaultとか1Uとかがあるフォルダと同じとこに、mykeymap つーフォルダをつくる。

 

f:id:komb:20200606133327p:plain

その中に「1U」フォルダーのなかにあった「keymap.c」ってゆうファイルをコピーしていれとく。

keymap.cのファイルを見てみる。

f:id:komb:20200606133828p:plain

おお!!出た!

なんか出た!

すげ。

 

 

ん?

f:id:komb:20200606134043p:plain

 

Geany?

確か、qmkをダウンロードするまえ、geditとかいうのをダウンロードしたはずだが?

別のソフトが立ち上がったみたい。

まあ、なんでもいいんでしょ?メモ帳でもいいっつってたから。

 

冒頭にcopyright 2019 Ryota Gotoって書いてある。お世話になります。やっぱ日本人なんだよな?soyuzの作者って。

 

じゃああの公式ビルド動画の外人は何者なんだ?まいいんだけど。

 

f:id:komb:20200606134801p:plain

すげ。

さっぱりわからん。

 

けど、これだけなんだよな。

 

さっぱりわからん、ってわけでもないか。わかんないなりに、わかるな。

DBLZEROのところが見どころだな。やっぱ。

そうか、ここをいじれば、1キーで8桁の社員番号を入れたりできそうだな。

 

DBLZERO=SAFE_RANGE

 

ってなんだろ。

 

普通のキーは、KC_Pまでが接頭語だね。いや、そうでもないか。なんの略だろPは。

NLCL = NumLock

PSLS = スラッシュ[ / ]

PAST = アスタリスク[ * ]

BSPC = バックスペース

MINS = マイナス[ - ]

PPLS = プラス[ + ]

EQL = なんて読むんだ?これ[ ^ ]

PENT = エンター

PDOT = ドット[ . ]

ってとこか。

 

ダブルゼロ、っていうのは自分で定義するんだね。きっと。

 

ここで疑問。

NumLockを押したときの挙動が書き込まれていない。

にもかかわらず、ちゃんとNumLockを押したときには矢印キーになったりページアップダウンとして反応してる。

これはどういうことなのかな。

 

とりうあえずどっかいじりたいな。

EQL、いらねーな。 ^。

このキーの代わりになにか入れてみよう。イコールがいいんだけどな。イコールは何ていうんだろう。

 

見つけました。

さっきの、QMK configurator のページに行って、「=」キーにマウスをのせたら出てきました。

 

PEQLです。KC_PEQL。

 

よしここをイジって、保存。

 

make ai03/soyuz:mykeymap:avrdude

ポチ。

 

行ったー。行った行ったーー

 

=

 ===

 

出た出たーー。イコール記号出たーーー。

 

======

ほら!=======

 

見て見て!!================

 

=============

ウレシーーーー

 

 

【Soyuzビルド19】また振り出し?

qmk cinfigurator でしょ?知ってるよ。オレだってそのくらい知ってるよ?(知りません)。

 

まあ、これは特に迷うところはないなあ。

f:id:komb:20200606112156p:plain

 

上のキーをクリックして、下のキーをクリックすれば、アサインされるんでしょ?

困ったな。

困った困った。

 

デフォルトで何の不満もない。いじるところがない。

でもいじんなきゃな。

 

そうだな。せっかく全部1Uキーなんだから。

 

f:id:komb:20200606112709p:plain

こんな感じにしときますか。

イコールとカンマは入れておいてもいいかな、ってとこで。

 

ゼロのキーを左端に寄せるのはどうなんだろ。イレギュラーかな。

キーキャップをこうしておけばいいんじゃないかな。

 

f:id:komb:20200606113214j:plain

numlock押したときのキーとか、どうやって設定するのかとか、一つのキーに自分の8ケタの社員番号を割り付けたいなあとか、そういうのは置いておこう。とりあえずこれで。

 

コンパイルボタン ポチー

f:id:komb:20200606115036p:plain

 

イモぐるぐるーー

f:id:komb:20200606115107p:plain

 

ファームウェアゲットー

f:id:komb:20200606115319p:plain

 

よし。

 

あれ?

ai03_soyuz_layout_ortho_5x4_mine.hex

っていうファイルを確かにもらったけど、これどうすればいいの?

コレだけもらってもちょっと困っちゃうな。

 

このファイルを、qmk_firmwareフォルダの直下にいれたところで、。。え?だって?

あれ?

 

苦労して見つけた例のコマンド。

make ai03/soyuz:default:avrdude

この中に、hexファイルを指定する箇所が何もない。

フォルダしか指定してないんだよな。ん〜〜〜。

 

てことは、hexファイルいらないんじゃん。

 

あり?

 

hexファイルじゃなくて、キーマップをダウンロードするのかな?もしかして。

 

qmk_toolboxを使わない、ってそういうことなのかな。ホントかな。

----

ま、いっか。やってみっか。

f:id:komb:20200606121943p:plain

キーマップをダウンロードすればいいんでしょ。

 

 あ、これ違うのか。なんだ?.jsonって。

 

----

ああ。そうか。あれか。どれだ?

使わないのか・・・hexファイル。コマンドラインでやるときはhexファイルいらないのか。そういうことか。もっかい1uキーマップいれてみよう。hexファイル作らずに。

 

make ai03/soyuz:1U:avrdude

ポチー

ほら!行った行った。やっぱそうなのか。

f:id:komb:20200606131129p:plain

なんだ。

 

もういいや。じゃあ、自分でフォルダーつくって、キーマップをコピーして、それの中身をいじって、んでmakeコマンドを打てばいいんだ。

 

じゃあそうする。

 

なんか、linuxに冷たくね?

それとも素人のくせにlinux使ってるからいけないの?

しょうがないじゃん。パパは自前のPC、ラズパイしかもってないんだから。