磁気式(ホール効果)分割キーボードを自作してみた

磁気式キーボードを作るのは大変そうと思っていたのですが、ちゃんと調べてみるとそこまで難しくなさそうに思えたので試しに作ってみました。 名前は croissant36 magnet です。corne mini の親指キーを自分好みの位置に配置、小指側の列を 0.25u 上げる配置…

Let's Split 風 静電容量無接点方式キーボードを自作した

Let's Split 風静電容量式キーボードを作ってみました。名前は Let's EC です。 今回は主に以下の2点を試してみたくて作りました 左右の通信を USB Type-C ケーブルにする マイコンボードを表面から見えなくする 左右通信 実装部品 ケース 左右通信 左右の通…

分割キーボード用テンティングスタンドを作った

長らく100均で買ったタブレットスタンドに滑り止めを付けたものをテンティングに使用してきましたが、使い続けていると滑り止めにホコリが付いてきて滑ってキーが打ちづらくなってしまうという問題を抱えていました。 この問題を解決すべく新たなテンティン…

謎のノーブランド静電容量式スイッチを使ってみる

AliExpress で詳細不明の静電容量式スイッチが販売されていたので試しに買ってみました。軸は MX 互換になっていますが、常用する場合はキーキャップ自作推奨です。 購入したもの ハウジング プランジャー ハウジングのサイズは東プレスイッチとほぼ同じだと…

東プレ軸・MX 軸兼用キーキャップを自作した

ありそうでなかった(?) 東プレ軸・MX 軸兼用キーキャップを作ってみました。 作り方ダイジェスト rsheldiii/KeyV2 を使い $rounded_cherry_stem_d を 5.7 に設定 stem type を rounded_cherry に設定する stem を長くする 終わり 想定読者 はじめに ステム形…

nowt36 を組み立てた

tamago324 氏設計の nowt36 を組み立てました。今まで何個かキーボードを組み立ててきましたが一体型を作るのは初めてです。 booth.pm なぜ nowt36 を選んだか 持ち運びやすさ 可愛さ nowt36 用ケース Firmware 静電容量無接点方式化 なぜ nowt36 を選んだか…

トラックボール付き静電容量無接点方式分割キーボードを自作した

トラックボール付き静電容量無接点方式分割キーボードを作ってみました。キーボード名は「転がる小石(英名: rolling miniec)」です。 軽く調べた感じではトラックボール付き静電容量式キーボードの前例を見つけることができなかったので、もしかしたらこれが…

corne mini 用の3Dプリントケース

以前作成した corne mini 用のケースを発注しました。側面が囲まれたことでホコリ耐性が強くなりました。 goropikari.hatenablog.com 発注したデータ バリ USB port 誤算 以前の記事では作った理由として「他者が設計したキーボードを静電容量式化してみたい…

meishi Trackball Module firmware を QMK v0.19 でビルドする

去年の12月に買ったきり積んでいた meishi Trackball Module を組み立てました。(OLED 用のソケットとタクトスイッチの実装面を間違えました) aki27.booth.pm おそらく多くの人は組み立てたら Remap を使って firmware を焼くのでしょうが、私の Linux 環境…

静電容量無接点方式 corne mini を自作してみた

foostan/crkbd の5列版である corne mini の静電容量無接点方式版を自作してみました。 今回の主なモチベーションは 他者が設計したキーボードを静電容量式化してみたい Column Staggered のものを作ってみたい という感じです。 設計する前はオリジナルの P…

34キーメカニカルキーボードを自作した

片手分で 横 98.2 mm、縦 85.7 mm という小さめの34キーの分割キーボードを作ってみました。マイコンを基板裏に隠すようにしたので表から見た姿はだいぶスッキリとしました。 以前作成したキーボードとの比較 なぜ作ったか 今まで片手5列のキーボードをいく…

KiCad6 で円形禁止領域を作成する

GND ベタをつけない領域を円形に作りたいと思って keepout.py を試そうとしたものの、このスクリプトは KiCad4 用で KiCad6 で動くようにする方法が皆目わからなかったので代わりに行った方法のメモ 禁止領域を作りたいレイヤー(ここでは B.Cu)で円を描く Cr…

静電容量無接点方式キーボード基板をリバーシブルで作ってみた

今回 PCBWay さんの支援で、キーボード用の基板を作っていただきました。Thank you, PCBWay! 今回作った基板は前回作った静電容量式分割キーボードとほぼ同じです。変更点として前回は左右の基板を別々に設計しましたが、今回はリバーシブルで作りました。 g…

静電容量無接点方式分割キーボードを自作した

9月半ば頃に今は静電容量無接点方式(以降 静電容量式 と略す)のキーボードも自作できる時代なのだと知り、そこから自分でも作ってみようとちょこちょこ進めていましたが、ようやく完成させることが出来ました! ちなみにキーボード名は「小石」(英名: miniEC…

keyball39 を組み立てた

組み立てについて キーマップについて modifier key の配置 マウスレイヤー OLED の表示を変更 テント キーボードが認識されないことへの対処 原因探索 keyball39 の左右判定方法 検証1: はんだ付けをやり直してみる 検証2: MASTER_LEFT で固定してしまう 検…

キーボードを基板から設計して作ってみた

静電容量式のキーボードをゆくゆくは自分で設計して作ってみたいなと思ったものの、初っ端静電容量式はハードルが高そう。ということでまずは PCB 注文の練習がてら情報の多いメカニカルキーボードの基板を作ってみました。 基板の色は5色くらいから選べたの…

静電容量 Helix を組み立てた

Manta40 を作って以来なので、3年ぶりに自作キーボードを作りました。 goropikari.hatenablog.com 今回作ったのはスイッチがメカニカルでなく、HHKB Professional や REALFORCE と同じ静電容量無接点方式のキーボードです。昔から静電容量無接点方式の分割キ…

DMOJ を使ってオンラインジャッジシステムを構築する

DMOJ という OSS のオンラインジャッジシステムの環境を整えたので使い方をメモしておく。 環境はコンテナ化し、image も Docker Hub に上げたので MySQL や Redis のイメージが消されない限りは動くと思う。(動作確認は Linux 環境でのみ行っている) github…

Database Design and Implementation を Go で実装した

DBMS をフルスクラッチで作る Database Design and Implementation: Second Edition1 を読みながら、この本で作る DBMS(SimpleDB) を Go で実装しました。始めてからちょうど5ヶ月くらいかかりました。 去年も DBMS を自作していましたが、当時は DBMS の理…

Go のカバレッジ計測結果を GitHub Pages にデプロイする

Go

github.com coveralls や codecov を使わずにローカルでもカバレッジを見たい、ついでにそれをそのまま GitHub Pages をつかって見れるようにしたいと思ったのでやってみたログ。 Go 標準機能のカバレッジレポートをデプロイする Go の標準機能の範疇でやる…

VSCode Remote Container 間を 172.17.0.1 経由で通信する

TL;DR ~/.config/Code/User/settings.json に "remote.localPortHost": "allInterfaces" を追加すると 172.17.0.1 でコンテナ間の通信ができる。 github.com Remote Container だと 172.17.0.1 で他のコンテナに接続できない 普通に Docker を使っているとき…

Python 風の自作言語を作ってみた

最近 Crafting Interpreters という interpreter を作る本を読んでいて、とりあえず本通りにやって Lox という言語の tree-walk interpreter を作りました。 作り終わって、この手の言語処理系を作る本では大抵ブロックを { } で表現するけれど Python のよ…

Graph Database を読んだ

最近 Graph Database に興味を持ったので Graph Databases: New Opportunities for Connected Data を読んだ。graph db の一つである Neo4j のサイトから PDF をダウンロードできる。 Graph Databases: New Opportunities for Connected Data (English Editi…

fish で "fatal: not a git repository (or any of the parent directories): .git" と出るようになった

2021/8/12 追記 本家の fishline にて修正された github.com fish, version 3.3.1 fish を立ち上げると以下のようなエラー文が常に出るようになってしまった。 git で管理されたディレクトリに移るとまた別のエラー文が出る。 fatal: not a git repository (…

PostgreSQL 互換の DBMS を自作してみた

WEB+DB PRESS Vol.122発売日: 2021/04/24メディア: Kindle版 ※ この記事では「PostgreSQL 互換」を「PostgreSQL client から接続できる」という意味で使っています。 最近はやりの自作 DBMS というものを私もやってみたので忘れぬうちに感想を書いておきます…

PostgreSQL Client から自作 DBMS に接続する

最近、Go の練習がてら書いていた自作 DBMS に PostgreSQL client で接続できるようになったので、そのやり方を残しておきます。(これから紹介するサンプルコードはすべて Python ですが) github.com psql --version psql (PostgreSQL) 13.2 pgcon の資料と …

AWS Lambda Runtime Interface Clients / Emulator とはなにか

AWS

以前の記事を先に読むと理解が進むかも(?) goropikari.hatenablog.com AWS Lambda がコンテナイメージをサポートしたのと時を同じくして Runtime Interface Clients (RIC) と Runtime Interface Emulator (RIE) というツールが公開されました。 New for AWS …

AWS Lambda で任意の言語を実行する

AWS

Lambda は標準で Go や Python などが使えますが、これらの言語以外でも自分で runtime を作りさえすればあらゆる言語で使えるようになります。 Custom AWS Lambda runtimes 今まで runtime を自作するのは難しそうだなぁと思っていましたが、昨年12月のアッ…

sops で localstack の KMS key を使う

AWS

sops を使っていて、これ localstack の KMS key を使うことできないかなぁとふと思ってみたので試してみました。 endpont-url を受け取れるように修正すれば一応動かせました。 github.com 特に実用性はないのですけど、備忘録的に残しておきます。 localst…

2020年 振り返り

勉強記録を見直すと2020年は低レイヤの勉強と雰囲気で使っていたものをちゃんと学び直した1年だったようだ。 読んだ・受講した Compiler, edX 2019年11月から受講し始めて6ヶ月かけて受講した。(その頃は edX ではなかったけれども)今まで受講した講義のなか…