1. とらジオ
  2. 26: ここで言うのが憚られるぐ..
2026-09-24 30:04

26: ここで言うのが憚られるぐらい高価なツール

HSL
HSL
Host

最近つくったものでは、会心の出来になったツールのご紹介。折りたたみキーボードのファームウェアを書き換えるツールをつくりました。US配列に、英数・かなキーを追加しました。手がかりは韓国の販売店が公開していたWindows専用ツール。Codexに移植作業をしてもらいました。ニーズは超ニッチですが、GitHubで公開しています。

感想

まだ感想はありません。最初の1件を書きましょう!

サマリー

折りたたみキーボードのファームウェアを書き換えるツールを作った経緯と、その仕組みが説明される。ファームウェアによってキー入力の信号を変更でき、OS側で設定するよりもキーボードを接続する機器を問わず同じ配列を使える利点がある。スマホで文章を書くために選んだNilkin Cube PocketはUS配列でコンパクトだったが、英数・かなキーがなかった。韓国の販売店が公開していたWindows専用ツールを手がかりに、Codexを使って書き換えツールを移植し、US配列に英数・かなキーを追加できるようにした。開発費は高額になったものの、64キーのコンパクトな理想に近いキーボードが実現し、ツールはGitHubで公開されている。

キーボードのファームウェアとは何か
今日はですね、あの最近の中では割と珍しく、結構珍しく改新のできというか、うまく進んで嬉しかったことがありまして、その話をしたいなぁと思ってます。
ここのポッドキャストで喋るのがいいのかどうかっていうのはあるんですけど、最近いくつか作り物をしていて、ものを作るというか、ツールを作ったり何かを作ったりするというのをいくつかやっていて、なんかその中には、このポッドキャストでもとらジオでも紹介しても面白いかなぁと思うのがいくつかあるんですけど、まあいくつか、いくつもありすぎて、
ちょっと収集がついてないというところはあります。その中でも一番直近で一番最近作ったもので、割とそれは出来が良かったというか、そんなこともできるんやっていうものができて結構嬉しかったので、その話をしたいということですね。
見通しを良くするために先に何を作ったかというと、キーボードのファームウェアを書き込むソフトですね。キーボードのファームウェアを自分で作って書き込むツールを自作というか移植というかをやって、それがなかなかうまくいって、
これはちょっと会心の出来だったという話ですね。すでに言葉的に迷わせているような単語が出ていると思うんですけど、キーボードのファームウェアということで、キーボードはわかるとして、なんでキーボードかという話はちょっと後でしたいと思うんですけど、
キーボードのファームウェアの…ファームウェアって何やねんということか、普通はあまりピンとこないと思うんですけど、ちょっと正確な定義とかなんとかということを抜きにしてすごく単純に言うと、正確ではないが間違ってはないというぐらいの流度で言うと、キーボードのファームウェアというのはキーボードを動かすソフトウェアのことですね。
キーボードを含めていろんな今の機械の中には何にでもかんでもコンピューターが入ってますよねっていうか入っているんですよね。
キーボード1つ取っても、普通は1つチップが入っていて、そのコンピューターが押されたキーを処理して、押されたキーが何であるかということを理解して、それをパソコンなり他の機械の方にこういうキーが押されましたよっていうふうな信号を送るというような仕組みになっています。
そういうふうにほとんどあらゆる機械というかマウスでもキーボードでもリモコンでもそうなんですけれども、大体のものに小さなコンピューターが入っていて、そのコンピューターが動いていろんなことが起きていて、
そのコンピューターが入っているということは、そのコンピューターを動かす基本ソフトみたいなものが必要になってくるわけですね。
パソコンやったらOSですね。WindowsパソコンやったらWindowsというOSが入っていて、iPhoneやったらiOSというOSが入っていて、みたいな音楽的にというか大きく動かす規模の大きい機械に対してはOSオペレーティングシステムというのが入っているわけですけれども、
小さい規模の機械、今さっき言っていたみたいなリモコンとかキーボードとかマウスとかそういうものになると、ファームウェアと呼ばれる小さなOSみたいなソフトが入っていて、電源を入れるとファームウェアが起動してキーボードなりマウスなりリモコンみたいなものが使えるようになると。
めっちゃざっくり言うとそんな仕組みになっているということです。
そのファームウェアは例えば今話しているのはキーボードなのでキーボードについて言うとファームウェアは何をしているかというと例えばキーボードでAというキーがあります。
Aというキーを押したらこれはAというキーが押されたよという信号をキーボードをパソコンにつないでいるとしたらパソコンの方に向かってAというキーが押されましたよという信号を送るという働きをしているのがファームウェアですね。
コントロールキーが押されました、オプションキーが押されました、シフトキーが押されました、シフトキーとAが一緒に押されましたとかそういうことをリアルタイムでモニタリングしていて今押されましたで今話されましたでいうことを信号として送るというすごく単純な動きをしているのがキーボードに入っているファームウェアということになります。
ファームウェアでキー配列を変える利点
ファームウェアは普通はいじることはあまりないと思うんですけどファームウェアを書き換えることができたら何ができるかというと
例えばこれは役に立つか役に立たないかは別としてこういうことができるという意味でいくとAって書いてあるキーを押したらこれをBっていうキーが押されたということにしてしまおうということがファームウェアを編集するとできるようになるわけですね。
どの場所を押されたらどのキーが押されたことにするどのキーが押されたという信号を送るというのはファームウェアさんが自分で決めているのでファームウェアを変えれば押されたキーの場所に応じてどのキーが押されたかという信号を送るその送る信号の方を入れ替えることができるということで
今のAとかBを入れ替えても別に大して嬉しくないわけですけど例えばよくあるケースでいくとAの横にキャプスロックというシフトを固定するみたいな大文字を固定するみたいなキーがあることが多いと思うんですけれども実際にはこのキャプスロックキーなんかすごい便利な場所にあるけれども実際にはほぼ使わないので
例えばこのキャプスロックをコントロールキーにしたいっていうケースはこういう時にファームウェアをいじることでキャプスロックっていうところの場所が押されたらこれはキャプスロックじゃなくてコントロールだと思ってコンピューターにはそういうふうに言うといてねっていうような指示を書き込めるわけですね
今みたいなキャプスロックをコントロールに入れ替えたいみたいなことはすごく需要が大きいというか多くの人がそういうことを求めているので普通はファームウェアを書き換える必要はなくて機械の方ですねコンピューターの方で書き換えるというか入れ替えるっていうことができることが多いです
例えばiphoneでもmacOSでもほとんどのコンピューターでiphoneを例にするとiphoneでも設定項目があってキーボードをつないだ時にキャプスロックキーは就職キーと呼ばれてますけどキャプスロックという就職キーをコントロールに入れ替えるという設定項目がありまして
これはキーボードの方からキャプスロックが押されたという信号が来るわけですけれどもこれはiOSの方で受け取った時にキャプスロックキーが来たなと信号が来たなとこれはコントロールが押されたことにしちゃおうということでiphoneのOSiOSのレベルで書き換えるという機能がありまして
だいたいこの機能はiOSにもmacOSにもUNIX系Linux系にももちろんありますしWindows系にもあってほとんどのOSでOSレベルでキャプスロックを入れ替えると他のキーに入れ替えるという機能があるのが普通になってますですね
これをファームウェアキーボードが送り出す信号のレベルで変えると何がいいかというとOSレベルで変えようと思うと新しいコンピューター新しい機械を使うたびに毎回キャプスロックはコントロールでキャプスロックはコントロールで一人一人に教えて回らないといけないわけですけど
キーボードの方で直しておくとこのキーボードを使っている限りどのコンピューターもキャプスロックをしたらコントロールだと思ってくれるとキーボードがキャプスロックという信号を出さずにコントロールという信号を出しているわけですから受け取り手のコンピューターのOSの方は最初からキャプスロックじゃなくてコントロールだと思っている状態になるということですね
つまり1個のキーボードを持っていたらあちこちで設定変えずにずっとどこに行ってもキーが入れ替わった状態で使えるということでやることが少なくて済むというメリットがあってそれは手間の問題であってできるできないの問題ではなくて手間の問題なわけですけれども実際にはできないことということがありまして
US配列に英数・かなキーが必要な理由
今回やったのはASかなキーがないキーボードでASかなキーを追加するというのをやったんですけれどもこれはファームウェアを書き換えるということをしない限りできるようにはならないわけですね
正確に言うとMacとかのパソコンWindowsでもLinuxでもパソコンレベルであればどんなキーが来てもそのキーを別のものに置き換えるという機能はあってOSで機能があるときとOSには機能がないのでそういうアプリそういうツールってあるのでそういうツールでパソコンの方でキーを書き換えると
言うことが全然普通にできるんですけれども特にiPhoneとかiPadとかスマホとかタブレット系のデバイスちょっとAndroid系のやつあんまり知らないのでわからないんですけどたぶんAndroid系はできるんだと思うんですけれども
アップル系のスマホとかタブレットは基本的にはというか基本的どころじゃないですね何をどう逆立ちしたってできないんですよねこのあたりはAppleさんの設計思想のなかなか厳しいところでちょっと自分なりに人と違うことというか
Appleさんが考えることと違うことというかAppleさんが思うみんなが求めていることじゃないと思うことはできないということが結構ありましてですね
Aスカなキーがないキーボードを使っていてもAスカなキーが欲しいと思うわけですね日本語変換を切り替える1個ポンと押せば日本語入力モードになり1個ポンと押せば英語アルファベット半角入力モードになるそういうこれを押せばこっちのモードになるっていうことがはっきりしているキーっていうのがどうしたって欲しいわけですけれども
Appleさんの考えではそういうものはユーザーさんが考えることではないということでかなり何をしてもできないようになっているんですよね
なのでこういう場合AスカなキーのないキーボードにAスカなキーを付け加えようと思うとファームウェアをいじるということしかなくなるということなんですね
そもそもAスカなキーのあるキーボードを使えばいいじゃないかという話になると思うんですけど私がですねAスカなキーがあるキーボードっていうのは日本語キーボードJISキーボードJIS配列のキーボードと言われるやつになるんですけれども
自分がですね基本的にはUS配列と呼ばれるAスカなキーがないキーボードを使うのをデフォルトにしてまして今回用意したキーボードはUS配列でAスカなキーがなかったという状態だったんですね
もちろん普段から使っているキーボードもUS配列しか使わないのであるいはもっとすごいコンパクトな40個ぐらいしかキーがないキーボードを使っているので基本的にAスキーっていうのはないんですけれども
短くポンと押すとAスキーもしくはカナキー右側がカナキーですね左側がAスキーポンと押すとAスまたはカナキー長く押すとコマンドキーになったりコントロールキーになったりするというようなやり方を普段からしているわけですね
Nilkin Cube Pocketを選んだ背景
今回普段使いのキーボードの話はあまりどうでもよくて今回いつもとは違う新しい目的でキーボードを用意したいなと思っていて
この度はですねスマホに接続してテキスト文字が打てるようなキーボードを用意したいなと思ったんですよね
スマホに接続してキーボードから文字を打つっていうのをなんでやりたくなったかというとこれだけで一エピソード分ぐらい話ができてしまうので省略
また別の話にしたいと思うんですけどトモスっていうサービスがありましてブログサービスを人の手を借りずにというか自前でブログサービスを簡単に用意できるサービスというのが最近今積極的に開発者さんが作っておられて
これがなかなか良いのでですねトモスを使いたいなとトモスのようなサービスを使うにあたってパソコンで文字を入力するんじゃなくてスマホで文字入力したいなと
スマホで文字入力するんですけど画面のキーボードで書いたり音声入力するのもちょっと辛いんでキーボードでポチポチ打つぐらいのペースでスマホで文字を入力したいなということを思うということが最近あったんですね
なのでスマホiPhoneで使えるコンパクトなキーボード最近はモバイル向けというか持ち運び向けのキーボードで折り畳んで本当に折り畳むと文庫本よりはちょっと大きいんですかね文庫本プラスアルファ真正版ぐらいの大きさになるキーボードというのが結構いくつか出ていて
そういう折り畳みキーボードとスマホの組み合わせっていうのをやりたいなというふうに思ったんですねこのスマホで使えるコンパクトな携帯性の高いキーボード選びこれもいろんな種類があっていろんな選択肢があってこの話だけでまたあの人エピソード分ぐらい話せるので
この話はまたあの話ということで今日はやめておこうと思うんですけれどもすごくちょうどいいキーボードでニルキンっていうこれ韓国のメーカーなのかな中国のメーカーなのかなちょっとどっちかわからないですけどニルキンというとこのキューブポケットという折り畳み型のコンパクトなキーボードがありまして
これがUS配列だしこれはエスケープキーがちゃんとあるしこのエスケープキーがちゃんとあるっていう話もちゃんとすると長くなるのでまた割愛しますけれどもUS配列のキーボードでエスケープキーがあって折り畳み型でコンパクトで5本新書ぐらいのサイズ感で
文字は最高とは言えないんですけれどもなんじゃこれこんなキーボードで文字が打てるかっていうほどはひどくないというキーボードがありましてなかなかこれが良いとで問題はただ一つエースかなキーがないと
エースかなキーじゃなくて左下の一番端っこのキーを言語モード切り替え日本語とエースとを切り替えるキーとして使うという設定もできたんですけどやっぱりこのキーを押したら日本語入力モードになるこのキーを押したら英語入力モードになるっていう完全な切り替え
トグルと呼ばれる一個押したらAという状態がBという状態になるBの状態がAの状態に戻るっていうこのトグルではなくてこのキーを押したら絶対Aの状態になるこのキーを押したら絶対Bの状態になるっていうキーで日本語入力モードを切り替えたいんですよねこれはもう長らくの強い予報で正直あの
今どっちの入力モードになってるかっていうことを覚えておきたくないじゃないですか
覚えてるとは限らなくて画面のどっかで見るっていうことを確認で確認するっていうことでもいいのかもしれないですけどまぁでもダメだなiOSとかモバイル系のやつだと今どっちの入力モードになるかっていうのは画面に書いてないので入力してみないとどっちかわからないっていう状態が常にあって
あれはすごいストレスなんですよねだから何かタイプし始める前に明示的にどちらかのモードに必ず日本語を打ちたいときには必ずカナキーを押してから日本語を打ちアルファベット半角を打ちたいときは必ずエースキーを押してから打つとそうすると迷わなくていいっていうか何かを考える必要というのはないわけですよね
打つ前に必ずそれを押すっていうのをマッスルメモリーに叩き込めばいいだけなのでそれはもう何十年か前に叩き込んであるので必ず押すということになっているので何にも考えなくても間違いなく文字入力が開始できる風になっているわけですよね
なので今更エースカナキーがないっていうのはめちゃめちゃ困るわけですね
そのニルキンのキーボードはエースカナキーがないこと以外はかなり良いキーボードだったんですね
Windowsツールを手がかりに移植
それ以外は良いなと思っていたら韓国の販売店さんのファームウェアを書き換えるツールっていうのをホームページで公開していて韓国語も日本語と同じことがあるみたいなんですね
ハングル入力モードとアルファベット入力モードの切り替えキーっていうのがあってそれがUS配列のキーボードだと存在しないものであるいは存在するけど場所がちょっと違うのかな
それを入れ替えてハングルエースキーみたいなのをキーボードに登場させるというファームウェアの書き換えソフトを公開されているのを見つけたんですよね
一般的なキーボードでこのファームウェア書き換えソフトを公開しているケースっていうのは結構少なくて
本当に書き換えツールさえ公開してくれたらもう超楽やのになっていつも思ってるんですけど
キーボードを工場かどうかで作るときに必ずファームウェアを書き込んでるわけで書き込んでるということは書き込みツールがあるということで
その書き込みツールをちょっと教えてくれたら自分で書き換えるんで何の苦労もいろんな苦労がなくなるわけですけど
ただ実際には市販されているキーボードでファームウェア書き換えツールが公開されているっていうのはすっごいレアケースで
韓国語で使えるための書き換えツールではあったんですけれども
なぜツールが公開されていたのでそれを使って
そのツールがWindows専用だったんですよね
Windowsマシンが手元になくてWindowsマシンをどうにかして手に入れるとか
場合によってはどっかの店の店頭でそのツールだけ使ったろうかと思ったりもしなくはなかったんですけれども
お金のない小学生中学生じゃあるまいし大の大人が店頭でWindowsマシン借りて
自分のキーボードのファームウェア書き換えするってわけにもいかないんで
仕方がないなぁ
レンタルでもWindowsパソコンを借りようかなとも思ったりしなくはなかったんですけど
高価な書き換えツールの完成
コーデックス君に相談したら自分で作ればいいんじゃないってWindowsのツールがあるんだから
それを見ながら自分で作ればいいんじゃないって言われたので
すっごいまたあの人たち軽いのりで簡単ですよそんなもんみたいな感じで言うので
ほんまかほなやってみてやということでやらせてまして
それが全然簡単じゃなくてですね
最近コーデックスチャットGPTの単価が上がってるのか
今回の作業がめっちゃ重かったのかどっちかわからないんですけど
多分単価が上がってるんだと思うんですけど
めちゃめちゃトークンを燃やし尽くしてですね
このファームウェアを書き換えるツールを作るのにかかったコストというのが
ちょっとポッドキャストで言うにははばかられるぐらいの金額になってしまった
すごい高価なファームウェア書き換えツールにはなってしまいましたが
結果的には高いツールになってしまいましたが
割とそんなに今使っている限りだと悪くないツールになったっぽくてですね
2のキーを2のキーに置き換えることができるっぽいので
自分の場合はこういう風にしたいっていうゴールイメージがはっきりしていたので
それ以外の余計なテストというか
他のレイアウトにできるかとかいうことは試してないんですけど
とりあえず自分が目指しているキーマップっていうんですかね
こういう風なキーの配置にしたいというところまでは
いい感じでできるツールが完成したということですね
いやーでもなかなかいいですね
やっぱりASUSかなキーがあってUS配列で
割とコンパクトなキーボードでキーの数もそんな多くなくて
64キーですかね
だいたい普通の一般的に使われているキーボードで
100から110ぐらいですかね
106とかだいたい100キーぐらいあるんですけど
今回使っているNilkinのコンパクトなキーボードは
64キー4キー60%キーボードと言われるジャンルのもので
本当は40ぐらいがいいんですけど
俺はしょうがないとして
あの許容範囲のキーの数
いい感じに少ないキーの数で
US配列でエスケープキーもあって
ASUSかなキーもあるという
ほとんど夢のキーボードが爆誕したということで
ファームウェア書き換えツールの完成万歳と
いやー久しぶりにここまでできるとは思わなかったというか
ここまでうまくいくとは思わなかったというツールができて
GitHubで公開はしています
またリンク貼っておきますが公開はしています
これはNilkinのポケットキューブを使っている人しか
必要がなくて使えなくて
このキーボードを使っている人の数が多分めちゃめちゃ少なくて
かつASUSかなキーが欲しいという人はさらにめちゃめちゃ少ないので
私以外の誰かが使うとは思えないんですけど
GitHubで公開はしています
こんなにB4でいくとまさかうまくいくとは思わなかったのが
うまくいったという意味で
結構作り手としては感激するツールになりまして
いやー結構ここしばらくも超タイトなスケジュールが詰まっていて
1ヶ月前ぐらいと比べるとちょっとマシにはなってたんですけど
超過密な中これができたのはもうすごい嬉しいと報告でした
ニーズがニッチすぎてどんな風に嬉しいのか
うまく伝わる自信があんまりないんですけれども
一応こんなところが嬉しいというのは一通り説明はしたつもりです
でもこの嬉しさがうまく伝わるのかどうか本当に自信がないです
さてそんなわけで今回も最後までお聞きいただきありがとうございました
もうちょっとニーズの広い製作物も作っていて
そのあたりの話もしたいなと思うんですけれども
あまりニーズがありそうなやつはどうしても熱が入らないというところがあって
とはいえ熱が残っているうちにまた話したいなとは思っています
今回の他のエピソードですとか小納豆のほうは
リッスンスタイルスラッシュpスラッシュトラジオのほうで公開しています
アップルさんのポッドキャストとかスポーティファイト
youtubeポッドキャストですかね
でも公開を配信をしていますので
また聞きやすいやつでお聞きいただければというふうに思っています
ではようやくちょっと涼しくなってきた作音ですけれども
お体にお気をつけいただきましてまたお聞きいただければと思います
今日もありがとうございました
30:04

コメント

スクロール