2025年3月30日日曜日

Tijuana LP改め、esAlice改め、Woorden

もともとは「Tijuana」のロープロファイル版を作ろうとして作ったので「Tijuana LP」と呼んでいたけど、Alice配列っぽくもあるので「esAlice」(似非Alice)って名前にいったん落ち着いた。

しかし、Alice配列は曲線配列にはなってなくて、キー配列のブロックが真ん中でまとまった形で折れているので、ちょっとこの名前は体を表してないなぁ〜、と思い、再び「Woorden」に改名した。

pidcodesにはプルリクを送ってはいるけど、まだマージされていないのでキーボード名称を変更してコミット/プッシュしておいた。

で、名前はこのままいくとして、「Tijuana LP」としてJLCPCBに製造してもらったPCBは、一回所だけ配線ミスがあり、ジャンパを飛ばさないと動かない状態だった。最初はピンヘッダを短く切り配線を削り露出させたパターン間をジャンパした。

ピンヘッダでジャンパ


しかし、これは見た目も悪いし厚みもあるし、なんかのきっかけで引っ掛けたりすると取れそうだったので、アルミ箔を幾重にも折りたたみハンダで固定し、上から紫外線硬化レジンでコーティングした。

アルミホイルでジャンパ

そして、このPCBの設計に使ったRP2040-Zeroのフットプリントが、以前に使ったことのなかったもので、ピンを刺すスルーホール径が1mmになっていて、コンスルー未対応になってしまった。とりあえず自分の使う分は自分でジャンパを飛ばして、RP2040-Zeroはピンヘッダでハンダ付けした。

MCUをピンヘッダでハンダ付け
 

ケースは最初、ミントグリーンのフィラメントで印刷した。スイッチプレートを白にして、白を基調としたイメージでまとめようと思っていたので、合うかなと思ってAmazonでポチっておいた。最近は、ケースを印刷する時に水平方向に印刷するのではなく、垂直になるように印刷している。

ケースを3Dプリンタで印刷

こうするとビルドプレートから簡単に剥がせるのと、ほとんどサポート材が要らないので造形が綺麗になるというメリットがある。このミントグリーンのケースに装着するとこんな感じ。

ケースを装着

光らせるとこんな感じ

LED点灯

しかし、やはり白いケースのほうが似合うような気がして、マットホワイトのフィラメントでケースを印刷してみた。

マットホワイトのケース

しかし、しかし、半透明好きの嗜好がうずうずしてきて、半透明フィラメントを買ってしまったので、同じくケースを印刷してみた。ついでにロータリーエンコーダーノブも印刷した。

半透明フィラメントのケース

なんか、かなり迷走しているが、今のところこのケースで落ち着いている。ロータリーエンコーダーノブはマットホワイトのものに戻している。

FR4のスイッチプレートそのままだと、なんか見た目がショボく感じるので、半透明フィラメントでデコレーションプレートを印刷してみた。デコレーションプレートは縦では印刷出来ないので、左右分割印刷になる。固定方法はケースにデコレーションプレート用のネジ穴はないので、スイッチプレート固定用の穴を流用する。

デコレーションプレートを装着

使っているキースイッチはChoc v2なので、CherryMX互換用のNPプロファイルキーキャップだと、盛大に底打ちをしてしまう。なので、XVXロープロファイルのキーキャップに交換した。
(デコレーションプレートがちょっと厚かったのか、ロープロファイルキーキャップでも底打ちしてしまう…)

XVXロープロファイルキーキャップ

この状態で頒布しようと思ったが、

  • ジャンパが必要
  • コンスルー非対応
  • ケースを印刷しないといけない
などの関係でBOOTHには出せていない。ジャンパを解消し、コンスルー対応のフットプリントに修正した設計は終わっているが、まだ製造には出せていない。
修正版


2024年4月20日土曜日

キーボードファームウェアのVial化

キーボードのファームウェアをVial化するための大きなポイントを記録に残しておく。
  1. 「keymap/vial/rules.mk」に下記を記述する。
    VIAL_ENABLE = yes
  2. 「keymap/vial/vial.json」を作成する。
    テンプレートは下記。
    {
      "lighting": "none",
      "matrix": {
        "rows": (row数),
        "cols": (col数)
      },
      "layouts": {
        "keymap": [
          (KLEからダウンロードしたJSONの「name」以外のデータを貼り付ける)
        ]
      }
    }
  1. 下記コマンドでキーボードGUIDを生成し、「keymap/vial/config.h」に追記する。
    $ python3 util/vial_generate_keyboard_uid.py
  2. 「keymap/vial/config.h」に下記アンロック設定を追記する。
    数字を変更すると、アンロックするキーコンビネーションが変わる。
    #define VIAL_UNLOCK_COMBO_ROWS { 1, 0 }
    #define VIAL_UNLOCK_COMBO_COLS { 1, 1 }

2023年10月18日水曜日

プロバイダーを変えた。

スピードテスト

20世紀の終わりくらい、初めて一人暮らしをする時に、家に「フレッツISDN」を引いた。

当時はまだ定額インターネット回線などはなく、NTTのテレホーダイを使い、23時から翌8時までの固定料金制度でネット接続をしていた時代で、ちょっと高いがISDN機器を使ってフレッツISDNにすると24時間テレホーダイになり、専用線みたいな使い方をする事が出来た。なぜ24時間接続が必要かというと、自宅サーバーを運用するためだった。自宅サーバーにするためには固定IPアドレスが必要だが、DDNSとかは使いたくなかったので、当時では珍しく固定IPアドレスを付与してくれる「インターリンク」というプロバイダと契約した。

それから25年ほど、何回か引っ越しなどもしたがインターリンクを使い続けてきたが、いろんな動画配信サービスを見るようになり、一ヶ月のデータ転送量で警告が来るようになった。これはインターリンクの上流が行っているらしく、インターリンクではどうしようもないということだった(インターリンクは安さがウリなので、そういう縛りがあるんだと理解することにした)。

ある程度の転送量を越えると、次月は速度制限がかかるということなので、そうなると仕事も出来なくなるのでプロバイダを変えることにした。あちこちで話を聞いてみると、ベストエフォートで1Gbpsのサービスと、10Gbpsのサービスをしている「enひかり」というのが良いらしいという噂を聞いた。いろいろ調べてみたところ、よさそうなので1Gbpsのほうで契約してみた。IPv4と、IPv6が選べるが、自前で用意しているDNSがIPv6にまだ移行出来ていないため、IPv4の契約にした。うちのマンションは、ラストワンマイルがVDSLなので、そのままだとベストエフォートで100Mbpsまでしか出ないので、1Gbpsの契約をしても宝の持ち腐れになってしまうということで、FTTHに交換して貰うことにした(工事費用21,000円くらい)。

今日、工事が終わり新しいプロバイダで接続し、速度計測をした結果がこれ。これで、ちょっとは快適なインターネット生活が出来るかな?

2023年7月17日月曜日

Mac+コンテナ+GitHubクローン’

 タイトルだけだとなんのこっちゃ分からないが、私の家のネットワーク環境で起きていた現象について、事の顛末をblogにして残しておこうと思います。

事の発端は、家で使っていたWi-Fiルーターを買い替えた事でした。

それまでも、ちょくちょくネットワークの調子が悪い時があり、ネットワークが切れる事が頻発していました。ちょうどその頃、Amazonがブラックフライデーセールを行っていたので、これはいい機会ということで、新しいWi-Fiルーターに買い替えました。

そして年が明け…。

Wi-Fiルーターを交換した当初は、仕事ではMacのコンテナ環境は使っておらず、SSHでサーバーに繋ぎ、その上で作業をしていたので、Macで建てたコンテナ内から、GitHubのリポジトリをSSHクローンしようとしても出来ないことに気付きませんでした。

ある時、Dockerコンテナのメンテナンスをしようと思い、久しぶりに仕事用Macの電源を入れ、新たにコンテナを作成しようとした時に異変に気づきました。

MacでDockerコンテナを起動する時は、macOSのコンソールから直接起動することはせず、一旦MultipassでUbuntuコンテナを起動し、その中から開発環境用コンテナを起動していたのですが、その時もMultipassでUbuntuを起動し、久しぶりに開発環境コンテナを起動するためにGitHubからリポジトリをクローンしようとしたところ…出来ない。権限などのエラーを吐くのではなくて、反応がない。エラーを吐かないので、tcpdumpをしたり、GitHubの設定を見直したり、Macの設定や、Multipassの設定を見直したり、ネットワークの設定などをいろいろ確認したが、結局原因は分からず。

その時は時間がなかったので、コンテナのメンテナンスはWindowsのWSL2で行い、それ以降はWSL2上で仕事をしていました。

しかし、ここで私が5年ぶりにプライベートでMacを買うことになり、Macのコンテナ上で最近ハマっている自作キーボードのファームウェア設計をしたいので、なんとかこのクローン出来ない現象を解決しないといけない事態が訪れました。とりあえず、Macが自宅に到着してからダメ元でMultipassでコンテナを起動し、GitHubからリポジトリをSSHクローンしてみようとするのですが、当然ダメ。

そこで、去年まで使っていた調子の悪くなったWi-Fiルーターに交換してみると、なんと!SSHクローン出来るではありませんか。

そこで、これまたちょうど、AmazonプライムセールをやっていたのでNETGEARのIPv6に対応していないWi-Fiルーターが叩き売っていたので購入。先行セールだったので次の日にサクっと届きセットアップして繋いでみました。

クローン出来ない。

ブラックフライデーで購入したWi-Fiルーターだけの、特殊な現象ではなかったようです。このルーターは元が3万円以上するビジネス向けのルーターで、ポートフォワードなども一回設定した内容を後から編集出来たりして、かなり高性能だったのですが、GitHubからクローン出来ないのではそんな高機能はまったく霞んでしまっていました。

ここで、もうどうにも積んでしまったので、別の話題として某キーボード系Discordに「うちの使っているプロバイダは、一ヶ月のパケット使用量に1.2TBという上限があって、越えそうになると警告がくる」と呟いたところ、今のGb(ギガビット)対応プロバイダとかだと上限はもっと全然上だとのことで、プロバイダ変更を考え始めます。

そこでオススメされた「enひかり」というところに変えようと思い、IOデータのIPv6対応Wi-FiルーターをAmazonのプライムセールぎりぎりで注文しました(これは通常のセールが始まっていたので、配送がかなり遅くなった)。

と、そこでIOデータのWi-Fiルーターが到着するまでの間に脳裏を過ぎった、

PPPoE接続をWi-Fiルーターではなく、NTTからレンタルしているモデムでやったらどうだろう?

をやってみたところ………なんと、クローン出来てしまうではありませんか(2回目)。

なので、しばらくはモデムでPPPoE接続は行って、Wi-FiルーターはWANからLANへのルーティングと、Wi-Fi接続だけの用途として使うことにしました。

で、プライムセールで買った激安ルーターはWi-Fiが不安定なので、Wi-Fi接続は去年買ったルーターに戻しました。 

2022年10月9日日曜日

Pixel7の購入を予約

 先日、Google恒例の新デバイス発表会があり、Pixel7/7 Proの発表があったので購入ページを見ると、過去のPixelを下取りしてくれるという記述があったので、手元にあるPixel5を下取ってもらうといくらになるのか見積もってみた。

Pixel5
21,000円…。

え?60,000円以上で下取って貰える?と半信半疑で予約販売を申し込んでみたところ、(下取り価格はまだ確定していないが)下取り価格の最大額が適用されると、21,000円になるという通知が来た。

この後は、下取り回収用の箱が届いたら、それにPixel5を入れて送り返すだけなんだが、ネットの情報を見てみると、

AndroidのおサイフケータイはiPhoneとは違い、情報の保存領域を専用アプリからしか操作出来ないので、端末のリセットを行っただけではFeliCa情報をクリア出来ない。

という事が判明する。

これは、中古屋とかに売るときに、これが消去されていないと買い取ってくれないらしいのだが、今回はGoogleと直で契約しているらしい業者なので、下取りする端末のその手のFeliCa情報についての事には一切触れておらず、ただただ

工場出荷状態に初期化しておいてください

と書いてあるのみ。なので最初は工場出荷時の状態にして箱を待っていたのだけれども、なんか気持ち悪いので、ネットでFeliCa情報の消し方を探し消去してみた。

作業的には、最後に貼ってある参考サイトの通りに行っただけ。

基本的には、まず「おサイフケータイ」アプリを起動し、マイサービスを確認する。ここになにかしらの登録があったら、それが削除対象。

しかし、これらの情報は「おサイフケータイアプリ」からは削除出来ないので、それぞれの専用アプリを起動して作業を行うことになるらしい。

私の場合は、iDと、QUICPayと、ヨドバシゴールドポイントカードがあったので、それぞれの専用アプリを起動し、削除や「無効にする」を選択した。

QUICPayは専用アプリに登録がない場合は「Google Pay」アプリからなんでもいいのでQUICPay対応のクレジットカードをひとつ登録し、改めてそのカードを開き「無効にする」を選択する。

iDでは、専用アプリで操作するカードは、おサイフケータイアプリでメインカードを設定してあるものになるので、専用アプリで削除する前に、おサイフケータイアプリでメインに設定しておきます。設定してあると専用アプリで 「カードの削除」が選択出来るので、削除します。

その後に、「おサイフケータイアプリ」を開き、マイサービスをリロードして、登録がなくなっていれば完了。

念の為に、おサイフケータイアプリの左上にあるハンバーガーメニューを開き、「サポート・規約」の中にある「メモリ利用状況」が、「未使用」になっていれば削除完了です。

参考サイト:Androidスマホのおサイフケータイ(iDやQUICPay、Edyなど)を削除する方法。買い取りしてもらう前に必ずやっておこう

2022年7月11日月曜日

キーボード近況

最近使っているキーボードの紹介

GPK60-46SGR
GPK60-46SGR

まず最初が、配列が逆ハの字になっている、いわゆる「Alice配列」のキーボード「GPK60-46SGR」。
キーピッチは19.05mmで、標準ピッチ。
特徴としては、ProMicroに直接USBケーブルを挿すのではなく、USB-Cドーターカードを接続する。
本来はProMicroをPCBに直付するということになっているが、前回それでProMicroが逝って、取り外せなくなってPCBを一枚無駄にしているので、この写真の状態では抜き差し出来るコンスルーを使用。
使用しているキースイッチは、Gateron Silent Clear。
本当は、Kailh BOX Silent Pinkが欲しかったが、ディスコンになり市場がら消えているので、同じ特性のスイッチを探してこれに辿り着いた。
キーの重さは同じ35gfで、キー特性はリニア。
キーキャップはNPプロファイルの無刻印。




Nora FW

次が見るからに薄そうな「Nora FW」。
もともと同じ作者が「Johns」というキーボードを出していて、それの狭ピッチバージョンで、「Narrow Johns」→「Nora Johns」→「Nora」というダジャレとのこと。
これはウリが「狭ピッチにして60%ケースに可能な限りキーを詰め込んだ」というもの。
私は中央にスペースを設けて左右分離にする「FW」レイアウトにしている。
本来のFWレイアウトよりもキーを少なくして、ポリプロピレン板にカーボン柄ラッピングシートを貼って使っていないキースイッチ穴を塞いでいる。
使っているスイッチは、Kailh Choc v1 RedPro。
キーキャップは、人気の高いMBK Legend glow。




BROOKTEN

最後は、テンキーと磁石でドッキングする「BROOKTEN」。
テンキー部分は置き場所がないので使っていないが、4極の端子を持っていてI2Cで通信出来る磁気ポゴピンで合体することの出来るテンキーが付いてくる。
このテンキーのProMicro部分がかなりトリッキーなので、電子工作初心者にはちょっとオススメ出来ない。
このBROOKTENは、私の理想にかなり近く、右手側の上から二段目のキーが6個だったらエンドゲームしていたかもしれないキーボード。
なにがいいって、60%よりも若干小さいサイズと、2つのロータリーエンコーダが付けられること。
手元で音量を変えられるのは、かなり便利。
使っているスイッチは、Kailh BOX Silent Pink。
キーキャップは、GPK60-46SGRと同じNPプロファイル。

2021年12月15日水曜日

キーボード作りデビュー

 この記事は キーボード #3 Advent Calendar 2021 の16日目の記事です。


2021年の私の最大のトピックは、キーボード作りデビューをしたことです。なのでこのアドベントカレンダーでは、私が最初のキーボードを組んだ経緯・感想を書きたいと思います。

以前から趣味と仕事両方に使うキーボードにはかなりこだわっていて、2000年代始め頃から良さそうなキーボードを探しては購入し、気に入らなければまた探して…を繰り返してきました。Cherry社のいろんな軸や、静電容量無接点方式のキーボードの存在は小耳に挟んではいましたが、静電容量無接点は高価で、Cherryには納得の行く軸がありませんでした。

しかし、そこにCherryが静電容量無接点に近い感触の「赤軸」を出します。店舗で試し打ちしてみたところ、なかなかいい感じです。しかし、購入には至りませんでした。

そして、2021年の春頃にAmazonで赤軸のメカニカルキーボードが安く売っているのを見つけました。とりあえずそれを購入してみることにしました。

Havit

20年ぶりくらいのメカニカルキーボードです。キーキャップにOリングも付けてちょっとだけ静音にこだわってみたりもしました。

Oリングを装着

音もいかにもメカニカルキーボードっぽく、オンライン会議などをしていると「メカニカルキーボード使ってます?」などと訊かれることもあり、ドヤっていました。

しばらくはこれを使っていたのですが、どうもキーボードのサイズがちょっと大きいな…と感じてきます。そもそもテンキーはほとんど使わないのと、カーソルキーはホームポジションから手が離れるので、AutoHotKeyで設定している「Alt+Ctrl+h、j、k、l」を使っていました。

そこで、調べてみるとファンクションキーとテンキー部分のない「60%キーボード」というものがあると知りました。Amazonで検索してみると、「RK61」というのがクチコミがいいので、これの赤軸を購入しました。

Royal Kludge 61

一緒にグレーのキーキャップを買いました。

グレーのキーキャップに交換

軸自体はHavitと同じなので打鍵感はほとんど変わらないのですが、キーボード自体のサイズと、打鍵音が違います。Havitもキー入力が楽しかったのですが、より楽しくなりました。

しかし、この配列だとアクサングラーブ(バッククォート)の位置にESCキーが来るのですが、そのままESCキーにFnコンビネーションでバインドされているので、打ちづらくなりました。

あとは、やはり独立したカーソルキーが欲しいのですが、既存のモデルだとほとんどが十字に並んでいるものが多く、vimと同じ形で使える横並びのカーソルキーのものが皆無でした。

それならば、ないのであれば作ってしまおうと調べてみると、自作キーボードというものであれば作れそうだということが分かりました。

まずはPCB。私の作りたい配列だと、右下に1Uを4つと、Ctrlキーを置きたいので、5つキースイッチが設置する必要があります。この配列だと「DZ60 REV3.0」というもので出来そうということが分かりました。「DZ60 RGB V2」という、キースイッチの交換が出来るPCBもあるのですが、このPCBは配列が固定なので使えませんでした。

PCBは「DZ60 REV3.0」と決まったのですが、これはキースイッチをPCBにハンダ付けする必要があります。しかし、私は星の数ほどある(言い過ぎ)キースイッチの種類で、どれがしっくりくるか分からないため、いろいろ交換したいと思い、ソケット化することにします。

まずは、PCB、アルミプレート、キーキャップ、キースイッチ、プラスチックケース、スタビライザーを遊舎工房さんでポチりました。

キースイッチは「Kailh BOX Silent Pink」にしました。キースイッチは交換可能にする予定なので、このキースイッチを使ってみて、気に入らなければまた他のを試してみようと思っていたのですが、結論としては大正解でした。私の好みにドンピシャ!でした。

Kailh BOX Silent Pink

そして、ソケット化するためのMil-Maxソケットをマルツさん経由でDigi-Keyから130個買いました(これが後々後悔することになります)。

DZ60 REV3.0

これにMil-Maxソケットをハンダ付けしていきます。一般的な60%キーボードだと61キーが多いのですが、私は右下をVimmerカーソルキーにしているので、これは63キーになりMil-Maxソケットが126個必要になります。

そうなんです、130個買ったので4つしか失敗出来ないんです。


ハイ、7つ失敗しました…。


しょうがないので次に作るキーボード用も含めて150個を追加注文しました。それまではキーレイアウトをいろいろ試してワクワクを持続させていました。

アンダーグローテスト

キーレイアウトはこんな感じにしました。

VIAでの設定画面

右に「LCtrl」がありますが、間違いではありません。Windowsの設定で「RCtrl+スペース」で入力言語の切り替えをさせているので、「A」の左にあるCtrlとスペースの組み合わせだけで機能させたいのでした。

そして、追加のMil-Maxが届いたのでハンダ付けし、ソケット化したDZ60 REV3.0が完成しました。このソケット化ですが、実は一番左上のキースイッチの右のソケットだけMil-Maxを使っていません。これは、ここだけMil-Maxが入らないくらい細くなっているのです。なので、まずAmazonで導電ゴムを買いました。

導電ゴム

さらに、Amazonでゴムを貼り付けられる接着剤を買いました。

接着剤
この接着剤で導電ゴムをスイッチの右足が刺さる穴のところに貼り付けます。その後にピンバイスで小さな穴を空けます。こうすると、キースイッチの右足をほんのりと斜めにしておくと、正しく反応するようになり、キースイッチの交換が出来るようになります。

すべてのパーツが揃い、ソケット化も出来たので、組み立てていきます。



こんな感じで、私の最初のキーボードが完成しました。キーの重さが35gfでかなり軽く、これも狙っていた通りかなり快適で、今後のキーボードは全部35gfにしたいくらいになりました。
ここでエンドゲームかな…とも思ったのですが、このキーボードを組んでる時にすでに「やはりキーボードは薄くないと」という考えが頭から離れなくなり、すぐに次のキーボード作成に取り掛かるのでした。

その話はまたいづれ…。

Tijuana LP改め、esAlice改め、Woorden

もともとは「Tijuana」のロープロファイル版を作ろうとして作ったので「Tijuana LP」と呼んでいたけど、Alice配列っぽくもあるので「esAlice」(似非Alice)って名前にいったん落ち着いた。 しかし、Alice配列は曲線配列にはなってなくて、キー配列のブロック...