ペーパーライクフィルムはやめた方がいい

はじめに

iPad Airのガラスカバーを割ってしまったため、新しくペーパーライクフィルムを購入したことについて記録していきます。結論としては、ペーパーライクフィルムが欲しいのなら買っても問題ないです。しかし、特に目的がなくペーパーライクフィルムを選択するのは避けた方がいいです。

ガラスフィルムが割れてしまった

以下のように、普段からiPad Airをスタンドと共に使用しています。 しかし、スタンドにただ乗っているだけなので固定されてはいません。画面の方向に傾くと簡単にiPadはひっくり返ってしまいます。 先日、うっかりスタンドを前方に傾けてしまったためiPadが倒れてガラスフィルムが割れてしまいました。

新しいフィルムを買う

割れてしまったものは仕方がないのですぐに新しいフィルムを探し始めました。

たまには使ったことのないものを買ってみようと思い、iPadのフィルムとしてよく話題に上がるペーパーライクフィルムを購入しました。

Amazonで2000円弱のものを購入しました。

ペーパーライクフィルムを使って

フィルムを貼った状態

画面をつけた状態

web閲覧、読書、ゲームなど一般的な操作を一通り行って感じたのは「最悪」の一言です。 爪やすりを操作しているような感覚で、スワイプ操作をするたびに指が引っ掛かります。 黒板を爪で引っ掻くことや、爪やすりなどが苦手なため操作をするたびに不快に感じました。

特にタッチパネルでは必須となっているスワイプ操作がしにくいため、Webページの閲覧、ゲーム等に影響がでます。

一方でapple pencilを使った操作やメモは商品名通り、紙に近い感覚でした。一般的なコピー用紙よりもざらざらしている紙に、Bの鉛筆で文字を書くようなイメージです。

終わりに

一般的な用途ならペーパーライクフィルムを選ぶ必要はありません。 タッチペンやApple Pencolを使って文字を書く場合や、絵を描く場合はペーパーライクフィルムである必要があるのかを考えてから購入する必要があると思いました。

Keychron K3 Pro JISを購入しキー設定を変更してみた

はじめに

先日発売された、Keychron K3 Pro のJIS配列バージョンを購入しました。 外観や使用するにあたってのMacWindows用のキー設定について記録していきます。

Keychron K3 Proについて

Keychron K3 Pro JISは、QMK/VIAカスタマイズに対応するロープロファイル・ワイヤレスキーボードです。JIS配列で、Gateronのロープロファイルカニカルスイッチが搭載されています。

kopek.jp

以前、キーボード探しをしている時に候補としてあげていたキーボードです。

y-kitaro.hatenablog.com

この時はUS配列版しか発売されていなかったため購入を見送っていました。

しかし、5/17に技適認証を取得したJIS配列版の発売が開始されました。

kopek.jp

開封

発売日にヨドバシドットコムで注文しました。注文時は納期未定となっていましたが5/23に発送連絡、5/24に商品到着でした。

さっそく開封していきます。

付属品は以下のようになります。

  • キーボード本体
  • USB Type-A to Type-C ケーブル
  • Windows用キーキャップ
  • キーキャップリムーバー

キーボード本体

一般的なJIS配列を踏襲していますが以下のような特徴があります。

  • カーソルキーが横一列に並んでいる
  • スペースキーが長い
  • 右Ctrlがない
  • Windows用のLangageキーがない

Type-C端子とスイッチ

端子はType-Cです。付属のケーブルを使う場合はType-Aが接続できる必要があります。 また、スイッチで有線/無線接続とWindowsAndroid/MaciOSを切り替えることができます。

キーボードの高さ

スタンドを使用した時の高さ

スタンドを使用することで高さが調節できます。 また、キーボードの手前から奥にかけて段差があり押しやすさが工夫されています。

キー設定の変更

MacWindowsで使用するためのキー設定を行います。 このキーボードは側面にあるスイッチでレイヤーを切り替えることができます。 それぞれ、Mac/iOSがレイヤー0、レイヤー1に、Windows/Androidがレイヤー2、レイヤー3に割り当てられているので、対応するレイヤーの一部を変更していきます。

以下のページからVIAで使用するためにキーボードに対応したJSONファイルをダウンロードします。

VIAとKeychronキーボードの接続及びご使用方法 | kopek|

・K3 Pro JIS White LED用キーマップJSONファイルをダウンロード

からダウンロードしました。

まずはMac用の設定から変更してきます。 Macのキー配置はデフォルトで完成されているためそれほど変更する必要はありません。

Mac用レイヤー0の設定

Mac用レイヤー1の設定

レイヤー0の特徴

  • capsLockキーでctrl
  • ctrlキーでcapsLock
  • shiftキーで↑
  • 左キーでshift
  • 上キーで←

レイヤー1の特徴

  • shiftキーで↑
  • 左キーでshift
  • 上キーで←

続けてWindows用の設定を変更していきます。 Macのようなカーソル移動ができるように変更を行います。

Windows用レイヤー2の設定

Windows用レイヤー3の設定

レイヤー2の特徴

  • capsLockキーで押している間だけレイヤー3に切り替え
  • shiftキーで↑
  • 左キーでshift
  • 上キーで←

レイヤー3の特徴

  • shiftキーで↑
  • 左キーでshift
  • 上キーで←
  • Fで→
  • Bで←
  • Pで↑
  • Nで↓
  • AでHome(カーソルを先頭に移動)
  • EでEnd(カーソルを文末に移動)

また、次のショートカットをマクロとして登録しキーに割り当てました。

  • Sでctrl+S
  • Zでctrl+Z
  • Xでctrl+X
  • Cでctrl+C

使用感について

今回は初めてキースイッチが茶軸のものを使用しました。 キーボード本体は品質が高く、使っていて気持ちがいいと思いました。 無線での使用も遅延等の問題なく使用できています。

カーソルキーが横に並んでいる点についてはVIAの設定でShiftキーを上キーに設定して従来のカーソルキー配置を再現し、以下のようにキーキャップを交換して対応しました。

カーソルキーを入れ替え
カーソルキーについては配置が再現できれば感覚で対応できるため大きな問題ではないと判断しました。

スペースキーが長いことについては設定で対応することはできません。 入力をする時はかなキー、英数キーを初めに押してしまう癖があるため、間違えてスペースを押してしまうことがありました。理想はCキーの下に英数があることですが、使用していく中で慣れていくしかないと思います。

終わりに

JIS配列、ロープロファイル、キー設定が自由に変更できるキーボードの候補は多くありません。 その中で最もオススメできるのは今回のキーボードだと思います。

アトラスのRotate Magnetic Cable マグネットUSBケーブルを買ってみた

はじめに

アトラスのマグネットUSBケーブルを購入した記録です。

なぜマグネットUSBケーブルを購入したか

自作キーボードを作る時にProMicroの端子は折れやすいという情報を何度か見かけました。 ProMicroの端子部分を補強して対策をするそうですが、エポキシ樹脂を用意するのは面倒だと思っていました。 そこで、マグネットUSBケーブルを使うことで端子を保護することができると考えて購入しました。

Rotate Magnetic Cable

AmazonでマグネットUSBケーブルかつ、データ転送可能の条件を満たすアトラスのRotate Magnetic Cableを1mと2mで一本ずつ、購入しました。

アトラス Rotate Magnetic Cable

内容物

  • ケーブル本体
  • USB Type-C コネクタ
  • MicroUSBコネクタ
  • Lightningコネクタ

マグネット端子は以下のように丸型でピンが5本のタイプです。

ケーブルはナイロンの柔らかい素材でできており、端子の方向に球の半分の範囲で自由に動かすことができます。

1本で複数の機器に対応

1mのケーブルは持ち運び用、2mのケーブルはドッキングステーションに接続したままにしています。ゲーム中はコントローラーの充電に、PCの使用中はキーボードの接続に使用していますがケーブルを抜き差しせずに切り替えることができます。

キーボードとコントローラー

おわりに

マグネットUSBケーブルは一本で複数の機器に対応することができるのでデスク上のケーブルを減らすことができます。また、抜き差しによる端子への負荷を減らし機器を長持ちさせることができます。

日本語に対応したBardをBingAIと比較してみた 〜チャットAIをエラーの解消に使うことはできるのか?〜

はじめに

先日のGoogle I/Oイベントで、GoogleのチャットボットサービスであるBardが日本語に対応したことが発表されました。 今回はGoogleのBardとMicrosoftのBingAIを使った時の、比較を行ってみたいと思います。

チャットAI

大規模言語モデルを各社が開発する中で、そのモデルを元に人との会話用に調整されたチャットボットサービスがGoolge、Microsoftから公開されています。

Google Bard

Goolgeの開発した大規模言語モデルであるPaLM2をもとに開発されたチャットボットがBardです。 そのBardが2023年のGoogle I/Oで日本語への対応、順番待ちの撤廃が発表されました。 ただし、2023年5月時点ではまだ試験運用とされています。

japan.googleblog.com

Microsoft BingAI

Microsoftが出資しているOpenAIが開発した大規模言語モデルであるGPT-4。それをもとに開発されたチャットボットがBingAIです。BingAIはEdgeの機能としてユーザを補助する副操縦士という位置付けになっています。

news.microsoft.com

BingAIはMIcrosoftEdgeアプリに搭載されていてPCではEdgeブラウザから、スマホタブレットではEdgeアプリから呼び出すことができます。

比較

BardとBingAIに質問をしながら簡単なエラー対応を行い比較します。 今回の比較内容はDockerのコンテナ内でpythonが実行できないことを想定しています。 なお、回答は画像で表示しています。

Bardとのやりとり

ユーザ:dockerでpythonを実行することができないのですが何が原因だと考えられますか?

可能性のある一般的な原因を列挙しています。 ユーザ側の発話から得られる情報が少ないため、初歩的な原因から確認をしているようです。

ユーザ:実行しようとするとcommand not found と表示されています。

ユーザ側の発話意図としては、PythonコマンドがDockerコンテナで実行できないことを伝えたかったのですが、 情報が不十分なことが原因でdockerコマンドが実行できないと捉えられてしまいました。

ユーザ:dockerコマンドは実施できることを確認しました。

dockerコマンドは実行出来ることを伝えたことで、Dockerの中で問題が発生していることを伝えることができました。しかし、情報が不足しているためか一般的な返答になっています。

ユーザ:どのように確認すればいいですか?

それぞれの確認方法について述べています。

別の回答も生成されました。ユーザの発言がどの提案に対してなのか明確に示していないことから複数の回答が用意されたようです。

Bardの回答について

Bardの回答は箇条書きの場合、可能性のある一般的な内容を返答しています。 ユーザからの情報が少ないためか、一般的な返答が多いです。 そして、最後の行ではDockerサポートへの問い合わせを提案しています。

Bardを使って以下のような傾向があると感じました。

  • 一つの発話に多く情報を詰め込み、一度の発話から解決を目指そうとしている
  • ユーザの発話から読み取れる範囲で回答を生成する
  • できるだけ一般的な回答を、複数生成し誤情報を回避しながら解決を目指す
  • 指示語が不十分であれば解答案を複数用意する

BingAIとのやりとり

会話のスタイルは「より厳密に」に設定しています。

dockerでpythonを実行することができないのですが何が原因だと考えられますか?

ブラウザの副操縦士としてユーザを補助することが目的で作られているため、web検索から外部の情報を取得しています。 ユーザから与えられる情報が少ないため詳細な情報を要求しました。

command not found と表示されています。

dockerにpythonがインストールされていない可能性にすぐに到達しました。 web検索をしていないところから、最初の検索で取得した情報をもとに回答を生成しているようです。

Dockerfileをどのように記述すればいいでしょうか?

Dockerfileの記述例を示してくれています。

docker-composeを使う場合はどのような記述になりますか?

Docker-composeを使う時の方法について丁寧に示しています。

BingAIの回答について

Webの情報を参照し、回答の生成を行っているため最新の情報を含めることができます。 また、ユーザの情報が不足している場合は、ユーザにさらに情報を求めることが対話の中で出来ています。 そして、最後には自身でより詳しく調べるように促しています。

BingAIを使って以下のような傾向があると感じました。 * 対話を繰り返すことでユーザの要求に応えようとしている * ユーザの発話から読み取れないことは尋ねる * 情報を十分に得てから回答を一つ提案している * 暗黙的な内容を理解して回答している

おわりに

BardとBingAIを比較しました。

Bardは一度の発話で正確な回答を目指すため、一般的な回答の羅列になっているように感じました。より詳しく情報を与えることで効果的に機能するかもしれません。また、web検索による情報の取得を活用することで、より正確に回答できるのではないかと思います。

BingAIは対話を繰り返すことでユーザを満足させる回答を生成しているように感じました。あまり詳しく知らないことを、対話を繰り返しながら探っていく使い方に向いていると思いました。

今回の結果をもと、BingAIの方がエラーの原因を探したり、コードを書く時の手助けになると思いました。

自作キーボードのキー配置をRemapで設定してみた

はじめに

自作キーボードキットAngel70を購入したときの記録です。 すでに作成、設定を終えて使用しています。購入、作成、設定の3回に分けて公開する予定です。

Angel70キーボード

購入:Angel70キットを購入してみた - y-kitaroのブログ

作成:Angel70キットを組み立ててみた - y-kitaroのブログ

今回はキー配置をMacWIndowsに対応させながら好みの設定を模索していきます。 [:contents]

Remapを使う

キーの設定を変更するためにRemapにアクセスします。

remap-keys.app

キーボードを接続し、「START REMAP FOR YOUR KEYBOARD」をクリックします。 キーボードの選択画面でキーマップを変更するキーボードを選択するとキーマップの変更画面に入ります。

キーボードの選択画面
対象のキーボードが表示されない場合は「+KEYBOARD」を選びキーボードを追加します。 「remap-keys.appがHIDデバイスへの接続を要求しています」とポップアップが表示されるので、対象のキーボードを選択し、接続をクリックするとキーマップの変更画面に入ります。
キーボードへのアクセス許可

設定画面ではドラッグ&ドロップでキーを変更し右上の「flash」で書き込みを行います。

これでキーマップを変更する準備ができました。 次は実際にキーを変更していきます。

Windows用の設定

WIndows用のキーマッピングはレイヤー0とレイヤー1に設定します。 レイヤー0を通常時のキー配置、レイヤー1を同時押しで使うキー配置にしていきます。

レイヤー0とレイヤー1のキー設定

レイヤー0の特徴

  • CapsLockキーにレイヤー1への切り替えスイッチを設定
  • 左のスペースキーに無変換を設定
  • 右のAltに変換を設定
  • 右のshiftキーに\を設定

レイヤー1の特徴

  • `キーでescキー
  • 数字キーでファンクションキー
  • Fで→
  • Bで←
  • Pで↑
  • Nで↓
  • AでHome(カーソルを先頭に移動)
  • EでEnd(カーソルを文末に移動)
  • 右のshiftキーに¥を設定

また、次のショートカットをマクロとして登録しキーに割り当てました。

  • Sでctrl+S
  • Zでctrl+Z
  • Xでctrl+X
  • Cでctrl+C

MOスイッチはキーを押している間だけ別のレイヤーに切り替えることができます。 CapsLockキーに割り当てることで、Macのようなホームポジションでカーソルを動かせる環境を再現しています。

またWindowsのOS側で変換、無変換をIMEのオンオフに割り当てることでMacのJISキーボードの英数、かなキーを再現できます。

Mac用の設定

Mac用のキーマッピングはレイヤー2とレイヤー3に設定します。 Windows同様、レイヤー0を通常時のキー配置、レイヤー1を同時押しで使うキー配置にします。 ただし、Macはcontrolを使ったカーソルの移動が元々できるようになっているので、それを邪魔しないような設定にしています。

レイヤー2とレイヤー3のキー設定

レイヤー2の特徴

  • 左下Fnキーにレイヤー3への切り替えスイッチを設定
  • 左のスペースキーにLang2を設定
  • 右のAltにLang1を設定
  • CapsLockにctrlを設定

レイヤー3の特徴

  • `キーでescキー
  • 数字キーでファンクションキー

日本語入力、英語入力の切り替えはWindowsの変換、無変換で操作できないため英数キー、かなキーを割り当てる必要があります。USキーの状態では割り当てられているキーがわからないため、キーボードをJISに切り替えます。

キーボード言語設定

右上のキーレイアウト選択でJapaneseを選択することで、JISキーボードでのキーを確認することができます。 Macの英数、かなキーはUSキーボードではLang2、Lang1になっていることがわかりました。

設定の切り替え

WIndows用の設定からMac用の設定の切り替えと、Mac用の設定からWindows用の設定に切り替えるためのキーをそれぞれ割り当てる必要があります。 レイヤーの変更にはTOスイッチを使います。 TOスイッチは一度押すとレイヤーを切り替えることができます。 今回はMOスイッチで切り替えたレイヤー1、レイヤー3のInsertキーに、別のOS用設定へレイヤーを切り替えるTOスイッチを設定しました。

終わりに

キーボードのキー設定を自分の好みに変更しました。 使っていて不便なところがあれば都度変更できることがメリットだと思います。

Angel70キットを組み立ててみた

はじめに

自作キーボードキットAngel70を組み立てたときの記録です。 すでに作成、設定を終えて使用しています。購入、作成、設定の3回に分けて公開する予定です。

Angel70キーボード

購入:Angel70キットを購入してみた - y-kitaroのブログ

組み立て前に

手順の確認

まずはAngel70のビルドガイドを確認して、作成手順をイメージしました。

kakunpc.github.io

一通りイメージができたのでキットの組み立てを始めていきます。

Angel70キットの中身

半田ごての準備

スタンドのスポンジに水を含ませて用意します。私が使った半田ごてはコンセントに差し込むとスイッチがONになるタイプのため使用する直前にコンセントに差し込むようにしました。

半田ごてとスタンド
また窓を開ける等、換気できる状態にします。

組み立て

ダイオードの半田付け

まずはダイオードの半田付けを行っていきます。 ダイオードの向きに注意しながら基盤に差し込み半田付けをします。

ダイオード
ダイオードはこのままの向きで次のように差し込みます。 黒い太線がある方を目印に向きを揃えて半田付けしていきます。
ダイオードを差し込んだ状態
半田ごてを使用するときは火傷しないように半田ごてをスタンド等に置くことや、部屋の換気を徹底して行います。

リセットスイッチとOLEDソケットの半田付け

キーボード右上のリセットスイッチとOLEDのソケットを半田付けします。

リセットスイッチとOLEDソケットをつけた状態

パネルとスタビライザーの固定

左Shiftを取り外し、切断箇所をヤスリで整えます。またスタビライザーをつけて基盤とプレートを合体させます。パネルにスタビライザーとスイッチをはめて裏から確認すると次のような状態になります。

スタビライザーとスイッチの装着
BackSpace、Enter、右スペース、左スペース、CapsLockの箇所にスタビライザーを装着して基盤と合体させます。
スタビライザーをつけた状態

キースイッチの装着

続けてキースイッチをつけていきます。 スイッチのピンが曲がらないように装着し、裏面からピンが僅かに出ていることを確認します。 曲がってしまった場合は真っ直ぐに直します。

キースイッチを装着した状態
ピンが全て正しく刺さっていることが確認できたら半田付けをしていきます。 左Shiftのキースイッチはパネルで固定されないため半田付けをするときに手で押さえながら装着しました。

ProMicroとOLEDパネルの装着

ProMicroとOLEDパネルを装着し半田付けを行います。 基盤と比較してProMicroのピンの数が1つ少なくなっています。一番右側の穴を開けたままにしてProMicroを装着します。 OLEDパネルはソケットを通して基盤と接続します。

ProMicroとOLEDパネルを装着した状態

キーの反応確認

ProMicroをつけたことでPCに接続できるようになったのでキーが反応するかを確認します。

まずはファームウェアの書き込みをします。ビルドガイドに従ってqmk-toolboxとangel70用ファームウェアを用意します。qmk-toolbox.exeをダウンロードしました.。 私の環境では関連するライブラリのインストールが必要なため、画面の指示に従ってインストールを実行しました。

qmk-toolboxを起動し、angel70のファームウェア書き込みをしましょう。 キーボードを接続し、リセットボタンを押すことで書き込みが開始されます。 「Caterina device disconnected」のログが表示されれば書き込みが完了して接続が解除されます。

続けてRemapでキーが動作するかを確認します。

remap-keys.app

「START REMAP FOR YOUR KEYBOARD」をクリックしてAngel70を選択します。 横三点リーダから「Test Matrix」を選択し、キーボードの動作を確認します。 全てのキーの色が変わればキーの動作チェックは完了です。

キーの動作確認

アクリルパネルの装着

動作が問題ないことを確認できたのでアクリルパネルを装着します。 アクリルパネルの保護フィルムを剥がすのに苦戦しましたが、端からではなく少し内側を引っ掻くようにして剥がすことができました。ただし、引っ掻く場合はアクリルパネルに傷がつかないように気をつけましょう。

キーボード前面上部のアクリルパネルを装着します。 スペーサーとアクリルパネルを先につけてから本体につけると楽に装着できました。

前面のアクリルプレートを装着した状態

キーボード背面のアクリルパネルを装着します。

最初にアクリルパネルとスペーサをネジで固定します。

次に本体の穴に合わせて背面のパネルを装着します。 うまく入れることができたら上部のネジから締めていき動かないようにします。

最後に前面の6箇所をネジで固定したらアクリルプレートの装着は完了です。

背面のアクリルプレートを装着した状態

キーキャップの装着

キーキャップを装着します。 スタビライザーのあるキーは十字の穴に合うようにキーキャップを装着していきます。 キーの上下を間違えて装着しないように気をつけましょう

キーキャップの装着ミス
キーキャップを外すときはキーキャップリムーバーを使います。
キーキャップリムーバー
キーキャップを全て嵌めれば完成です。
キーキャップを装着した状態

終わりに

今回はAngel70キットの作成をしました。 次回はMacWindows用のキー設定を考えます。

Angel70キットを購入してみた

はじめに

自作キーボードキットAngel70を購入したときの記録です。 すでに作成、設定を終えて使用しています。購入、作成、設定の3回に分けて公開する予定です。

Angel70キーボード

Angel70キーボードを選んだ理由

キーボードに求めるもの

キーボードを購入するためにまずは欲しい条件を考えました。

私が欲しいキーボードは

  • ロープロファイル
  • キーボード側にキーの入れ替えやマクロの情報を保存できる
  • 持ち運びもできる重さとサイズ
  • 見た目が好み

特にAキーの隣のキーとの組み合わせでカーソル移動を設定できることを重視していました。 調べていく中で自作キーボードキットの存在を知り、Angel70キーボードを見つけました。 どうせやるなら自作キーボードの方が面白そうなことと、 商品ページに掲載されている白で統一された完成イメージが決め手となり購入しました。

他の候補

そのほかに以下のキーボードを候補として検討していました。

Logicool MX MECHANICAL

www.logicool.co.jp 家電量販店で探していた時にサイズやキーの打ち心地が非常に好みでした。 しかし、キーボードの配置変更やマクロ設定は一部のキーにしか設定できないため購入には至りませんでした。

NuPhy Air75

Air75 Wireless Mechanical Keyboardnuphy.com

デザインが好みだったのですが自分の望んだキー変更ができないと考えて購入には至りませんでした。

Keychron K3 Pro

Keychron K3 Pro QMK/VIA ワイヤレス カスタム メカニカルキーボード(US ANSI 配列)keychron.jp

こちらのキーボードは最も条件に適合した選択肢だったと思います。 Keychron K8 Proを使っていて設定変更が簡単なことや品質に問題がないことは知っていました。自作キーボードを知らないままでいたら購入していたキーボードです。他のKeychron製品のようにJIS配列のものが出た場合は購入しようと思います。

実際に購入したもの

遊舎工房でキットと必要な部品を購入しました。

  • Angel70キット
  • Kailhロープロファイルスイッチ(Red Pro) × 2
  • Kailhロープロ刻印キーキャップ
  • Choc スイッチ用スタビライザー
  • OLEDモジュール - ピンソケット付き
  • Kailhロープロ無刻印キーキャップ1.5U 2U(1個) × 2
    購入したもの

このキーボードの特徴としてスペースキーが3つに分かれているため、 Kailhロープロ刻印キーキャップだけではキーが足りなくなってしまいます。 そこでKailhロープロ無刻印キーキャップ2Uの黒を2つ追加で購入し、 オリジナリティを出してみました。

終わりに

今回はAngel70キットの購入をしました。 次回はAngel70キットの組み立てを行います。