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

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

Chromebookのススメ

Apple信者からGoogle信者へ



どうも。一式100万円のMacを買った者だけがApple信者を名乗れると思っています、こんにちは。

嘘です。妄信していれば信者です。



そんな私の、今現在のメインマシンはMacではなくPixelbookです。

f:id:digitarhythm:20200222210851j:plain
Pixelbook



使っているスマホAndroidです。

f:id:digitarhythm:20200222210736j:plain
HUAWEI P20 lite



タブレットAndroidです。

f:id:digitarhythm:20200222210615j:plain
HUAWEI Media Pad M5



持ち歩いているのがPixelbookなので、それをメインマシンという事にしていますが、実際の使用頻度は断然HP Chromebook x360 14のほうが高かったり(CPUスペックもHPのほうが上)するのですが、購入金額が3倍くらい違うので高いほうをメインマシンという事にしています。



どちらにせよ、普段一番使っている時間の長いマシン(仕事時間は除く)はChromebookになります。そんな私がMacからChromebookに乗り換えた動機や方法をblogにしてみたいと思います。



私と親しい方は知っていると思いますが、私は以前はApple信者でした。1992年にMacintosh Quadra700を、一式103万円で買ってからの信者でした。音楽プレイヤーはiPod mini、その後にiPod touchを32GB版が出たタイミングで買い、デスクトップパソコンはMacPro 2013、

f:id:digitarhythm:20140423113544j:plain
MacPro 2013



自宅サーバーはMac miniスマホは歴代iPhoneタブレットiPad2→3→Pro12.9(初代)、腕にはApple Watch(初代)、

f:id:digitarhythm:20200222212858j:plain
Apple Watch



メールはme.com、写真はiPhoto(後の写真アプリ)で、スタバでMacBookドヤリングという具合でした。



そんな私の2018年当時の環境は、






と完全に(ちょっと自分で見ても引くくらい)りんご一色でした。妄信的に使っていました。いや、いい製品ですよ確かにApple製品は。



しかし、私はWeb関連の開発歴が20年ちょっとくらいになるのですが、Web開発を始めた当初から自分で構築したLinuxサーバーにSSH接続し、vimでコーディングし、Apacheやnginxを設定し、そこにブラウザで接続して確認するというスタイルで開発して来たので、作業パソコンがデスクトップだろうがノートだろうが、MacだろうがWindowsだろうがLinuxだろうが、そういった環境などには左右されず、ローカルの環境にはブラウザとターミナル以外のモノは、画像編集や素材を作るアプリ以外は一切インストールしていませんでした。



そんな開発スタイルになったのには理由がありまして、一時期ノートパソコンにLinuxを入れて使っていた時期があり、その当時のスタイルをOSがそのままWindowsになっても、Macになっても続けていたからなのですが、こうなるともうパソコンにはブラウザとターミナルさえあればなにも困らずに開発出来るようになってしまっていました。



当然パソコンのローカルストレージにはアプリケーションをインストールするだけなので、そのアプリケーションで作成したデータファイルは、ほぼ全てをiCloudに置いていました。どのMacだろうが同じ環境で開発をすることが出来るようになっていたので、それはそれはかなり快適でした(唯一、ファイルの同期にラグがあり、Xcodeでの開発には向いていませんでした)。



そしてしばらくは「iCloud最強!」みたいなノリで快適に使っていました。この状態でなんでChromebookに移行したのか、自分でも甚だ疑問ですが(笑)、ここから徐々に、ほぼ全ての環境をGoogleプロダクトに移行していくことになります。






まず移行したのはメールでした。これは移行したと言うよりも、すでに元々独自ドメインをGsuiteで管理していたこともあって、メインで使っていたメールアドレスを徐々にGmail独自ドメイン)に移行して行きました。



次に移行したのはクラウドストレージで、移行しようと思った最大の要因としては、iCloudドライブがWindowsでは話にならないほど不安定になるという問題がありました。ブラウザ版だろうがアプリ版からだろうが、iCloudドライブをある程度の深さまでディレクトリを下がって行くとクラッシュします。これではある程度より下のディレクトリにアクセス出来ないので、まったくもって使い物になりません。「Appleなのに…」と思いました。そこで脳裏をよぎったのが、



これってGoogleドライブでも同じ環境は作れるよな?



でした。Googleドライブは、iCloudと同じ金額だとiCloudの半分の1TBになるのですが、まだ200GBくらいしか使っていないので、ストレージ容量が問題になることはなさそうでした。



実は、クラウドストレージの移行は、Googleドライブに移行した後に一度だけiCloudドライブに戻しています。これはなぜかと言いますと、Googleドライブの同期の調子がおかしくなり、ファイルがほとんど消えそうに(一旦は消えたが奇跡的に復活)なってしまったからです。Googleドライブフォルダを新しいところに作成しようと思い、一旦設定等をリセットし再同期しようとしたところ、まっさらの状態が反映されてしまい、クラウドドライブのファイルがごっそり消えてしまいました。そこでもう慌てふためいて、別で使っているMacを起動し、インターネット接続を速攻で切断し、まっさらが同期されることを防ぎ、残っているGoogleドライブフォルダをバックアップし、そこから復活させました(かなり冷や汗が出ました)。



そんなこんながあったのですが、Web等でいろいろニュースを見ていたところ、Gsuiteアカウントであれば、クラウドドライブのファイルをローカルに同期するのではなく、クラウドドライブをそのままマウントしてアクセス出来るGoogleドライブファイルストリームというものが使えるという記事を見つけました。それを、ものは試しとインストールしてみたところ、同期しなくてもクラウドストレージのファイルが普通に使えたので、そのまま完全にGoogleドライブに乗り換えました(その代わりと言ってはなんですが、当然ちょっとだけファイルアクセスが重くなります)。



容量もまだ1TBで全然余裕なので、こちらも全く問題はありませんでした。これで、MacでもWindowsでも同じクラウドストレージのファイルにアクセス出来るようになりました。



次に問題になるのが、iCloudドライブの使用量の半分以上を占めていた写真と動画でした。私はスマホなどで撮影した画像や、実家から持ってきた写真をスキャンした画像等をすべて「写真アプリ」に入れていたので、写真アプリのデータベースがiCloudドライブの使用量を数百GB使っていました。果たしてこれをGoogleフォトに、現実的に移行出来るのか?という問題がありました。



Googleフォトには画質を落として保存されるという事に同意出来れば、いくら画像ファイルを入れてもGoogleドライブのストレージ使用量を消費しないという機能があります。試しに何枚か画像を入れて様子をみてみたところ、まぁまぁ問題ないだろうという感じではあるので、そこから数百GBの画像ファイルのコピーを決行しました。これはさすがに数日かかりました。さらに画像ファイルを移した後に待っていたのは、Appleの写真アプリで作っていたアルバムをGoogleフォトで新たに作り直すという作業でした。アルバムの数が多かったので、この作業にもなんだかんだで数日かかりました。



そうなるともうiCloudドライブはもうほとんど必要がなくなるので、iOSバイスのバックアップに最低限必要な200GBのプランにダウングレードしました。



さて、もうここまで来たらほぼサービスの乗り換えは終わったも同然です。クラウドストレージがGoogleドライブになると、それまではiCloudドライブで管理していたスプレッドシートなどのファイルも、そのままGoogleドライブで管理出来るようになり、とんでもなく楽になりました。



この頃にはもうMacだろうが、WindowsだろうがOSの違いがほとんど関係なくなっていました。Webアプリケーションを積極的に使うようにすると、ネイティブアプリケーションの縛りもほとんどなくなっています。パソコンを使っている時間の大半が、全画面表示したChromeだけで完結するようになって来た時に、ふと以下のようなことが脳裏をよぎりました。



Macって…高くない?






ちょっと脱線して
Pixelbook購入顛末記



当時、普段からバックパックに入れて常に持ち運んで使っていたMacBook 12" 2015は16万円くらいで購入しました。さらに同じく持ち歩いていたiPad Pro 12.9" 2015も同じくらいの値段で購入しました。さらに言うと、その前に使っていたMacBook Pro 15" 2010は30万円弱、MacBook 13" 2009は25万円弱で買っています。しかしその使い方は、ほぼ「ターミナルで開発してブラウザで確認」だけです。作業のほとんどがWebで完結しています。それならば、iPad Pro 12.9は画面も大きくて通信用SIMも挿さるので、いつでもどこでも場所を選ばすに開発が出来て、普段はキーボード付きのケースに入れて使っていたので「これでWeb開発が完結すればこれだけでいいのでは?」という考えが湧いてきました。

f:id:digitarhythm:20200222211712j:plain
iPad Pro 12.9 2015



バックエンドの開発に関しては、iOSアプリのBlinkというターミナルエミュレータの動作がほぼ完璧なので、その点については全く問題ありませんでした。問題となるのはフロントエンドの開発です。iOSバイスではAppleの意向で全てのブラウザアプリが、Safariのエンジンを使ったものになっており、独自のブラウザエンジンを組み込んだブラウザアプリをビルドしてAppStoreに出すことが出来ません。なのでフロントエンド開発になくてはならない開発ツールが使えなくなっており、そのままではフロントエンド開発のデバッグが出来ません。独自実装の開発ツールを使えるようにしているブラウザアプリもAppStoreにあり、当初はそれを使ったりしていたのですが、使い勝手が悪く常用に耐えられませんでした。なのでMacBookは手放せず常に2台を持ち歩いていました。暫くはこの2台を持ち歩いていたのですが、如何せん両方の重量を合わせると2.5kgくらいになり、かな〜り腰に来ます。



そこで思いついたのが、

Chromebookならフル機能のChromeが使えるし、タブレットになるモノであればタブレットを持ち歩く必要もなくなるのでは???



でした。そこからWebでChromebookの情報収集を開始します。Chrome速報さんや、へれんさん、かぶさんのサイトを定期的にチェックしたりして知識を蓄えていきました(みなさんありがとうございました)。Web上の情報を漁っていると、様々な機種が出てきました。一番多く目についたのはASUSでした。10インチクラスから、15インチのものまでいくつかのバリエーションを出していました。次が同じく台湾のメーカーAcerでした。こちらもASUSと同じくらいのバリエーション展開になっていました。後はHPやSamsungなどが出していました(今も出しています)。CPUは下はPentiumから、上はCore i5(U)までありました(PixelbookのCore i7はYモデルなので、実質はCore m7です)。スペック的にはWindowsと大して変わらないのですが、違うのがその値段です。メモリが4GBで、ディスプレイ解像度がHDモデルであれば3万円台からあります。Windows10でこのスペックだと、恐らく起動に数分かかり、通常使用でもかなりレスポンスが悪い状態じゃないかと思います。メモリを8GBにしてもWindows10ではかなりツラいんじゃないかと思います。ところが、Chromebookでメモリ8GBだとかなり快適に、かなりキビキビと動作します。OSが軽いので起動も数秒しかかかりません。そんなに選択肢はないかなと思い機種選びを開始したのですが、結構な数の選択肢があり嬉しい迷いを楽しんでいました(迷ってる時はかなり楽しかったです)。



そんなこんなで私のハートを鷲掴みにしたのが「Google Pixelbook」でした。私の心に一番刺さったのは、Windowsパソコンでも見たことの無いその薄さでした(約1cm)。別の候補として考えていたのはASUSの「C302CA」でしたが、後に分かったのですがC302CAはLinuxが使えるようにならない機種でした。たしか既にPixel Slateは発売されていたのですが、私はキーボードと本体が一体になっていないとイヤ(笑)なので、候補からは外しました。



いろいろ情報を集めていくうちに、LinuxUbuntu)が動作するという事が分かりました。元々ローカルではいろいろとごにょごにょとやらない等と先程は書いたのですが、私はローカルのファイル操作などもコンソールでやったほうが早いので、Linuxコンソール(bash)が使えるというのはかなり心強いです。Chromebookではほとんどの機種でSIMが挿さらないので、オフラインの時にも開発出来るかな…?という思惑もあったのですが、結果的にはローカルでは全く開発をすることはありませんでした(今のところは)。



もうこうなると、乗り換えるのにまったく支障になる物/事はありません。とりあえずは、現在使用中のMacBookと、iPad Pro12.9を売って元手にすることにしました。MacBook 12" 2015と、iPad Pro 12.9" 2015+Apple Pencilで95,000円になりました。買うのはもうPixelbookに決めていましたので、あとは買うモデルを決めなければいけません。Pixelbookには「Core i5(Y)、メモリ8GB、128GB eMMC」、「Core i5(Y)、メモリ8GB、256GB eMMC」、「Core i7(Y)、メモリ16GB、512GB NVMe」の3モデルありかなり迷いました。しかしメインマシンにするつもりで購入するので性能には妥協せず、一番上のモデルを買うことにしました。そこでAmazon並行輸入品を見てみました(日本ではGoogleからは正規販売されていません)。値段を見るとかな〜り足元を見た感じの値段になっていました(輸入しているのでしょうがないと言えばしょうがないですが)。そこで米Amazonで見てみると、送料を入れても並行輸入よりも俄然安い値段でいくつも出ていました。これはもう米Amazonから買う以外ありません。既に米Amazonでは過去に買い物をしたことがあったので、アカウントは作成済みでした。クレジットカードも登録済みです。なので後はもう、ただただポチるだけでしたので、いくつかあるうちのAmazon倉庫から発送してくれるお店のモノをポチりました。



Amazonから発送されるということと、ちょっとばかし配送料をケチった(笑)関係で、一週間くらいかかりましたが、無事に届きました。ワクワクを抑えながら、まずはAmazonが梱包したちょっと大きめの箱を開けます。すると販売店が梱包した箱が中に入っています。この箱は製品の箱とほぼ同じ大きさです。そしてその販売店の箱を開けると、ラッピングされた製品の箱が出てきます。
f:id:digitarhythm:20200209224937j:plain

f:id:digitarhythm:20200222221341j:plain
Pixelbook



そして、製品の箱を開けます。

f:id:digitarhythm:20200222221439j:plain
Pixelbook



待望のPixelbookを取り出します。

f:id:digitarhythm:20200222221252j:plain
Pixelbook



しかし、ここで問題発生です。いくら電源ボタンを長押ししても、全くウントモスントモ言いません。電源アダプターを接続してもどこも光りません。アメリカからの個人輸入でまさかの初期不良です。しかし、こういう時のためにわざわざAmazon発送の製品を選んで注文しているので、かなりの落胆をしつつもGoogle翻訳を駆使しながらAmazonのサポートの人とチャットで「どうすればいい?」と話し合います。「代わりを送ってくれないか」と言ったところ、「それはAmazon販売のモノでないと出来ないので、対応としては払い戻ししか出来ない。なので元払いで送って、後で送料を請求してくれソーリー」と言われたので、しょうがないのでEMSを扱っている郵便局まで持っていって、速攻で返品処理しました。通常であれば送料は30ドルくらいまでらしいのですが、海外発送の場合は大丈夫という情報をネットで見つけていたので、そのまま80ドルを請求したところ、満額貰えました(毎回必ず満額払って貰えるのかは分かりませんが…)。



Amazonからの返金を待つこと数日。無事に返金を確認して、今度はすぐに対応してくれるAmazon販売のモデルを買うことにします。ところがなんと、サイバーマンデーだからだったのかは分かりませんが、Amazon販売のモデルは日本には直送してくれないというツレナイ表示が出ています。しかし、初期不良の時に返金の対応しかしてくれないのが煩わしいので、なんとかAmazon販売のモノを買おうと転送業者を調べ始めます(思い返せば、Amazon発送であれば初期不良率はそんなに高くはないので、転送業者を使ってまでしてAmazon販売にこだわる必要はなかったかな?というのはあります)。転送業者は、いろいろなblogやSNSを検索し「PlanetExpress」がいいということでそこに決めました。まずはユーザー登録をして、デポジット金を$5入れておきます。そして米Amazonで購入する時に配送先を、PlanetExpressで作成された自分専用の住所に設定します。PlanetExpressまでは注文してから2〜3日くらいで到着しました。到着すると荷物の写真と共に到着した旨のメールで送られてくるので、日本に送るのに必要なだけの料金から$5引いた額を入れて、日本の住所に向けて配送手続きします。手続きが終わると、暫く後に発送メールと追跡情報が送られてくるので、それを使って(ワクワクしながら)荷物を待ちます。今度もまた1週間くらいで到着しました。昔からよく「一度あることは二度ある」などと言われるのでドキドキしながら電源ボタンを長押ししたところ、今度は無事に起動しました!



f:id:digitarhythm:20200223001753j:plain
Pixelbook



届いたばかりの状態では、ChromeOSがとんでもなく古いので(ChromeOS63くらいだったかな?)、速攻でアップデートします。するとネットでよく見る画面になりました。



この時点で普段使いのアプリケーションとしては、






となっていて、完全にChromeだけで完結することが出来ています。もしChromebookLinuxが使い物にならなかった時のために、Chrome機能拡張のSSHターミナルも使えるものを探しておきました。これで問題なくChromebookに完全に乗り換えられました。さらには、いくつかのAndroidアプリも使えるので、もしChrome機能拡張でイイものがなかった場合はAndroidアプリで探すという手もあります。



例えばこんな具合にゲームも出来ます。

f:id:digitarhythm:20200223005245j:plain
デーモンクリスタル4



タブレットモードにもなるのでKindleアプリを入れて雑誌などを読む事も出来るようにしました。私の場合はちょっと極端過ぎるかもしれませんが、こんな感じで普段使っていたサービスをなにからなにまでGoogleに乗り換えることで、まったくストレスなくChromebookに乗り換えることが出来ました。当然のことながら、ChromebookへのログインはGmailのアカウントで行いますので、オンラインで同期する設定にしておけば新しいChromebookをセットアップする時も、ログインするだけでいつもの環境を構築することが出来ます。これは、使っているChromebookを完全に初期化した場合でも同様です。あまりにも簡単に環境が復元出来てしまうので「Power Wash」と呼ばれる完全初期化にも抵抗がなくなります(Linuxなどでローカルに作業環境を作っている場合は、その環境構築は必要)。



というわけで私のChromebook移行までの軌跡はいかがだったでしょうか。環境をGoogleプロダクトに変更することが出来るのであれば、割と簡単に乗り換える事が出来ると思います。次は、Chromebookを使ってやっている事とかの記事をblogに書いてみたいと思います。



コメント

このブログの人気の投稿

ロープロファイルキースイッチ

Outemuロープロファイルキーボード

キーボード作りデビュー